在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
答案 0 :(得分:0)
所以我终于想通了。 Android将“ charset = utf-8”附加到Content-Type。使它成为“ Content-Type:” application / json; charset = utf-8'。这导致我使用的API出现问题。当我以为它会剥夺身体时,我是完全错误的。
我从React-Native appends "charset=utf-8" to HTTP call Content-Type中发现了这一点,这使我获得了两种不同的解决方案。
或