我需要将一个文本文件读入一个变量。
我对文件的url使用了一个fetch指令,但它不起作用,因为我的nginx web服务器被配置为将所有查询传递给React。
React不提供静态文件,或者我可能需要定义一些路由。
我解决了nginx配置的黑客问题,但我被告知黑客太多了,我必须使用React路由或其他东西。
因此,假设我有一个url为http://www.example.com/rankitapp/src/T9tutorial/dictionary.txt的文件
如果我写一个fetch:
fetch("/rankitapp/src/T9tutorial/dictionary.txt")
.then((response) => response.text())
.then(function(data) {
t9init(data);
})它只有在我破解nginx配置的情况下才能工作。
对于nginx将所有查询传递给React的原始标准配置,它不起作用。
知道我不能破解nginx,我如何获取那个文件?
我需要创建一些特殊的路由吗?
我是否以某种方式使用任何其他指令导入了变量中的文件?
发布于 2017-12-13 04:12:49
我们使用Axios而不是fetch,它能更好地处理HTTP状态错误。我们的设置是通过JSON文件将环境变量加载到redux中。
这听起来可能是问题的一部分:
.then(response => response.text())它“将响应转换为文本”,然后才能使用它。
我们的代码看起来像这样:
const request = {
url: 'http://example.com/my/file.text',
method: 'GET'
};
return axios(request)
.then((response) => {
// response.data has our data / values
// we take the raw JSON and shove this into our redux state.
// No parsing or anything like that.
// No need to run response.text() on it
})
.catch((error) => {
dispatch(failureHandler(error));
});这对于Axios vs Fetch来说是值得一读的
https://stackoverflow.com/questions/47778923
复制相似问题