gpt4 book ai didi

javascript - 通过 Fetch React Native Post Request 引发网络请求失败

转载 作者:IT老高 更新时间:2023-10-28 21:56:13 27 4
gpt4 key购买 nike

我遇到了以下错误。目前我正在使用 React Native 开发一个 Android 应用程序,因此我计划使用 fetch 为我做一个发布请求。

fetch("https://XXreachable-domainXX.de/api/test", {
method: "post",

body: JSON.stringify({
param: 'param',
param1: 'param',

})
})
.then((response) = > response.json())
.then((responseData) = > {
ToastAndroid.show(
"Response Body -> " + JSON.stringify(responseData.message), ToastAndroid.SHORT
)
})
.catch((error) = > {
console.warn(error);
});

应用现在抛出错误:

TypeError: Network request failed

当我将代码更改为 GET-Request 时,它工作正常,在带有 window.alert() 作为返回的浏览器中,这很酷,而且 Chrome 扩展 Postman 也可以正确返回数据。

最佳答案

这个 React Native 的错误是相当无用的,所以你需要先得到实际的底层错误。最直接的方法是编写一个小型本地程序,该程序将使用 HttpsURLConnection 执行相同的查询。

对我来说,实际错误是 java.security.cert.CertPathValidatorException: Trust anchor for certificate path not found.有一个众所周知的解决方案:https://developer.android.com/training/articles/security-ssl.html#MissingCa

这也很可能是您的情况,因为浏览器和 postman 对请求没有问题。要检查它,请运行 openssl s_client -connect XXreachable-domainXX.de:443 -showcerts。如果有证书错误,请先修复它们,这样可以节省您编写 native 程序的时间。

编辑:实际上,查看所有底层 android 错误的最简单方法是在终端中运行“adb logcat”

关于javascript - 通过 Fetch React Native Post Request 引发网络请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34570193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com