收藏
回答

Android Webview 中使用 fetch/xhr/axois 调用API 有问题?

手机型号:vivo-V1813BT / HUAWEI-YAL-AL00

微信版本:8.0.1

基础库:2.19.6

web-view 中 fetch 请求一个接口,then是undefined

问题出现在Android上,iOS 都是好的


在webview中的代码

fetch('https://ldustu-game.c2wei.cn/api/home').then(x=>x.json()) // x是undefined



请求发出去了但是显示pending状态


最新进展 11.9 21:00

之前手机型号,url上面没有query参数是可以请求的。

这个手机型号,去掉web-view的url的query参数也是不能请求的。


最新进展 11.9 21:52

真机调试 webview 页面用本地ip地址没有问题,发布到服务器上用域名访问有问题。

最新进展 11.9 22:00

只能在https://xxxx.com/ 没有目录名和文件的情况下,并且没有url参数才能请求成功


最新进展 11.9 22:45

去掉fetch的 credentials: 'include',

然后把服务端返回头设置成 access-control-allow-origin: *

webview url是本地ip 的话 android 真机调试是可以访问的,但是发不到cdn是不行的 pc 也无法访问 提示 跨域 fetch 返回undefined 和一开始手机上看到的问题非常像。

最新进展 11.9 23:34

在之前基础上 fetch 添加 mode: 'cors' 参数好了

最后一次编辑于  2021-11-09
回答关注问题邀请回答
收藏

2 个回答

  • 明非
    明非
    2021-11-09

    小程序web-view在安卓真机上,url 上带query参数,请求就会有上述问题。



    2021-11-09
    有用 1
    回复
  • ww
    ww
    发表于移动端
    2021-11-09
    接口的问题吧
    2021-11-09
    有用
    回复 10
    • ww
      ww
      发表于移动端
      2021-11-09
      实际上服务是不可用的,但是还是返回 给了你一个状态,使得你的fetch可以往下走,我觉得是这样。
      2021-11-09
      回复
    • 明非
      明非
      2021-11-09回复ww
      针对Android 小程序 Webview 的服务不可用么。。微信直接扫Webview url 的二维码是可以调用的。
      2021-11-09
      回复
    • 明非
      明非
      2021-11-09回复ww
      ios也是可用的
      2021-11-09
      回复
    • 明非
      明非
      2021-11-09
      不过我fetch了一个cdn的txt地址是可以用的
      2021-11-09
      回复
    • 明非
      明非
      2021-11-09回复ww
      看了服务端日志,所有的请求都返回正常。但是看时间戳的话,感觉服务端还没返回就走到了then里面。
      2021-11-09
      回复
    查看更多(5)
登录 后发表内容