• 技术文章 >web前端 >js教程

    jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法

    亚连亚连2018-05-24 14:52:28原创1377
    这篇文章主要介绍了jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法的相关资料,需要的朋友可以参考下

    先给大家说下问题背景:最近在做一个项目,开发微信的某个功能,使用的是asp.net开发,jquery1.8.0版本。

       在微信中点击按钮触发事件,调用ajax与服务器端进行交互,回调函数走的是error。

    分析原因:首先我想到的是返回的数据类型有问题,因为在jquery 版本在1.4以上对json的格式非常严格,需要符合{"target":true,"message":"成功"}这样的格式。用JSON.stringify()函数分析了response对象,结果符合,排除了原因。

    既然ajax 走的是error,我开始分析error函数的参数,分别有XMLHttpRequest, textStatus, errorThrown。我发现XMLHttpRequest.status等于0,XMLHttpRequest.readyState等于0,说明窗体中有XMLHttpRequest对象却没有初始化,接下来开始研究怎么初始化XMLHttpRequest对象。

    解决办法:

    var xmlHttpRequest;
    $(function(){
    if(window.XMLHttpRequest){
    xmlHttpRequest=new XMLHttpRequest();
    }else{
    xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpRequest.open("GET","AjaxServlet",true);
    });

    这样就能解决以上描述的问题,注意PC端访问一般的Ajax不会出现问题,因为PC中浏览器都有内建的 XMLHttpRequest对象,而在微信中,出现此现象,可能需要手动去构建和初始化。

    ps:安卓版微信自带浏览器和IE6浏览器ajax请求abort错误处理

    给页面元素绑定了一个click事件用来触发ajax请求,在安卓微信自带浏览器中和IE6下,请求时常会被中断,返回错误类型“abort”,在其他浏览器中都一切正常。

    在IE6中使用Fiddler2和httpWatch监视请求,经常会出现”aborted”,折腾特么一个周末,。。。。。

    不说废话了....

    解决办法:在标签上加上onclick='return false;'

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    基于h5的history改善ajax列表请求体验

    简单谈谈AJAX核心对象

    ajax数据传输方式实例详解

    以上就是jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery1.8 ajax 实现
    上一篇:React中JSX 语法使用详解 下一篇:Jquery Ajax请求文件下载操作失败的原因分析及解决办法
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一篇搞定JavaScript DOM详细操作• 深入聊聊JavaScript• JavaScript迭代器知识点总结• javascript web页面刷新的方法收集_javascript技巧• 许愿墙中用到的函数_javascript技巧
    1/1

    PHP中文网