首页 > QQ技巧 > 在微信中调用ajax出现的问题

在微信中调用ajax出现的问题

时间:2017-09-20 16:51 作者:QQ地带 我要评论

背景:最近在开发微信,使用的是asp.net开发,Jquery版本是1.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对象,而在微信中,出现此现象,可能需要手动去构建和初始化。

标签: 微信
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告