我有一个令人困惑的问题。我有一个React / Redux前端,从两个后端提取数据。一个后端,我用Node构建自己。第二个后端由NASA运行。
问题:fetch调用仅适用于iPhone Safari上的NASA API。它不适用于我的Node后端。它在计算机上工作正常,而不是我的手机。
我已经做过的事情:
whatwg-fetch - 这没什么用。它仍然存在,但它没有改善任何东西
REACT_APP _... - 我确保用前缀" REACT_APP ..."命名我的API地址。确保create-react-app不会阻止数据通过。它没有做任何有用的事情。
这是一个有效的提取调用:
export const getNasaImage = () => dispatch => {
return fetch('https://api.nasa.gov/planetary/apod?api_key=IBNbXHbyn8pC2k9EVxumOUauFaccdzinCD0WJcSA',
{
method: 'GET'
})
.then(res => res.json())
.then(imageData => {
dispatch(setNasaImage(imageData))
});
}
以下是同一文件中的提取调用,该调用无法在iPhone上运行:
export const getAllQuizes = () => dispatch => {
dispatch(quizLoading(true));
return fetch(`${REACT_APP_API_URL}/quiz/`,
{
method: 'GET',
}
)
.then(res => res.json())
.then(quizes => {
dispatch(setAllQuizes(quizes.quizes))
return dispatch(quizLoading(false));
})
.catch(err => {
console.error(err);
dispatch(quizLoading(false));
return Promise.reject();
});
};
这是我的配置文件,其中REACT_APP_API_URL来自:
if (process.env.NODE_ENV === 'development'){
module.exports = {
REACT_APP_API_URL: 'http://localhost:8080'
}
} else {
module.exports = {
REACT_APP_API_URL: 'THEAPIADDRESS'
}
}