fetch() 在 react-native (iOS) 上执行 GET 而不是 POST
fetch() doing GET instead of POST on react-native (iOS)
我的组件中有以下代码:
fetch('https://domain.com/api', {
method: 'POST',
headers: {'Accept': 'application/json', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: 'value'
})
}).
then((response) => {
console.log('Done', response);
});
并且每次请求都是 GET(检查服务器日志)。我认为这与 CORS
(但显然 react-native
中没有这样的东西)和 ATS(但默认情况下已关闭,加上我的域是 HTTPS)有关。我已经从浏览器和 curl
尝试过,它运行良好,因此服务器配置没有先验问题。知道这里发生了什么吗?
我使用的是最新的 react-native
版本。
进一步挖掘后,肯定是API + fetch
的问题。我在 URL 末尾少了一个斜杠,API 发出了 301,fetch
没有正确处理。所以我不知道获取函数(和底层机制)是否有什么需要修复的,但这解决了我的问题:)
当 POST 被重定向(在我的例子中是从 http 到 https)时,它被转换为 GET。 (不知道为什么...)
我的组件中有以下代码:
fetch('https://domain.com/api', {
method: 'POST',
headers: {'Accept': 'application/json', 'Content-Type': 'application/json'},
body: JSON.stringify({
key: 'value'
})
}).
then((response) => {
console.log('Done', response);
});
并且每次请求都是 GET(检查服务器日志)。我认为这与 CORS
(但显然 react-native
中没有这样的东西)和 ATS(但默认情况下已关闭,加上我的域是 HTTPS)有关。我已经从浏览器和 curl
尝试过,它运行良好,因此服务器配置没有先验问题。知道这里发生了什么吗?
我使用的是最新的 react-native
版本。
进一步挖掘后,肯定是API + fetch
的问题。我在 URL 末尾少了一个斜杠,API 发出了 301,fetch
没有正确处理。所以我不知道获取函数(和底层机制)是否有什么需要修复的,但这解决了我的问题:)
当 POST 被重定向(在我的例子中是从 http 到 https)时,它被转换为 GET。 (不知道为什么...)