karosLi / KKJSBridge

一站式解决 WKWebView 支持离线包,Ajax/Fetch 请求,表单请求和 Cookie 同步的问题 (基于 Ajax Hook,Fetch Hook 和 Cookie Hook)
MIT License
693 stars 120 forks source link

iOS 13发起GET请求时不能携带body导致请求失败 #52

Closed SQsteven closed 3 years ago

SQsteven commented 3 years ago

我的解决方案是在KKJSBridgeAjaxURLProtocol中,判断是否是GET请求,是的话不加Body。请问有没有更好的解决方案? (bodyReqeust && ![self.requestHTTPMethod isEqualToString:@"GET"])

karosLi commented 3 years ago

你的问题是 GET 请求携带了 Body,导致请求失败吗?

SQsteven commented 3 years ago

对,进入页面后,web端又发起了一次get请求,请求直接被返回错误了。 现在又有新的问题,进入web页,web端又发起了一个get请求,请求没有发出去

SQsteven commented 3 years ago

跟web端沟通了一下,用的是axios请求的

karosLi commented 3 years ago

get 请求是怎么产生的 body ?

SQsteven commented 3 years ago

这个不太清楚。问web端那边也没说清楚

karosLi commented 3 years ago

可以在 safari 里,debug send 方法,看看 send 的时候,是不是 get 请求额外添加了 body

Huiz110 commented 3 years ago

这个问题我们也碰到过,H5 那边发起 GET 请求带 body 是不会报错的,我们这边现在是在hook 后原生发起请求时,判断是 GET 则清空 body

karosLi commented 3 years ago

1.3.9 版本已经修复了