h5页面嵌套安卓 和 pc 成功 但 ios ajax不兼容

h5页面嵌套安卓 和 pc  成功 但 ios ajax不兼容

    前几天做一个抽奖模块项目 , 该项目是嵌套在微信公众号里面的一个模块,

    因为外包公司条件有限 没有测试机 没有测试服务器 ,只能在 pc 上模拟 ,

    但是pc 只能模拟静态页面 ,移动端的某些环境是模拟不了的。

    所以放在正式环境上之后就出现了一些问题。

1 .   ios ajax 调用 不成功  返回 error[];  但是安卓和pc都能成功调用。

      解决办法:

      1.  查看url 是不是局域网,ios 浏览器不支持访问局域网,把url换成部署在服务器上的网址就可以了。

        (首先确认你的参数都传输正确,url与后台给的都一致)

      2.  查看本地http请求头是否和微信公众号的 http 一致,如果不一致改为一致。

      (写url之前因为查看过微信公众号不在支持http协议,所以把http改为https  放置测试环境中也成功了 ,但是

        放正式环境里面ajax却调用不了 然后查看了一下正式环境里面的链接,发现与ajax里面写的不一致  我写的https

扫描二维码关注公众号,回复: 2434719 查看本文章

        但是在公众号里显示的是http , 所以就造成了跨域 , 解决办法就是把本地的url换成http开头的 与微信公众号上

        面的保持一致就可以了) 

2.后台返回的数据有时是字符串,有时是json对象。

    如果出现这个问题 , 哎, 只能说明 ajax学的不精通 。

    ajax中有一个 dataType 属性是用来解析后台返回的数据的。  

    dataType : 

  • "xml": 返回 XML 文档,可用 jQuery 处理。
  • "html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
  • "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
  • "json": 返回 JSON 数据 。
  • "jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
  • "text": 返回纯文本字符串。


猜你喜欢

转载自blog.csdn.net/qq_41648452/article/details/80742347