【发布时间】:2018-09-17 15:09:38
【问题描述】:
当它在 iOS 上运行良好时,我似乎无法让 Android 传递任何选项。它似乎转到端点并删除方法、标头和正文。我不确定,因为当我添加下面提到的一些代码进行调试时,它可以工作。
let data = JSON.stringify({
appKeyLookup: CONSTANTS.APP_KEY_LOOKUP,
username: username,
password: password,
});
try {
let response = await fetch(CONSTANTS.API_URL + 'login/', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
},
body: data,
});
let responseJSON = await response.json();
真正奇怪的是,如果我添加
const _XHR = GLOBAL.originalXMLHttpRequest ? GLOBAL.originalXMLHttpRequest : GLOBAL.XMLHttpRequest
XMLHttpRequest = _XHR
到入口点然后安装chrome扩展Allow-Control-Allow-Origin:*
它工作正常。所以它似乎与CORS有关,但我不确定。
我正在使用 React Native 0.56.0
【问题讨论】:
-
这个项目与我过去的另一个区别是我使用的是 VSCode + React Native Tools。但是,要启动 Android 版本,我是通过 Android Studio 进行的,并在终端中运行 react-native start。
-
在 0.57.7 上仍然存在此问题。看来我实际上并不需要 CORS 扩展,但需要确保添加 _XHR 代码并启用远程 JS 调试。
标签: android react-native fetch