环境与设置:
我正在开发一个小型 React Native 项目,现在遇到了“api GET 请求”的问题。
对于 POST、PUT、DELETE 操作来说,这一切都是完美的,但只有 GET 请求会在服务器日志中返回超时错误:
“BadRequestError:请求被拒绝”。
相同的代码在 Android 上运行得很好,但它只发生在 iOS 上。
我已将
NSAllowsArbitraryLoads
设置为 true,也将 NSExceptionDomains
设置为以防万一,但他们都没有解决问题。
最新的 iOS sdk 强制连接采用 https 协议而不是 http。
您可以在 Xcode 项目的 info.plist 文件中向您的域添加例外。
如果你想允许一切都写在里面info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
步骤:
</dict>
标签末尾添加以下代码。<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
好的,找到解决方案了。
这是因为发送“GET”请求时 body 上有一个空对象。 检查它是否为空并使其未定义解决了问题。