先给大家说下问题背景:最近在做一个项目,开发微信的某个功能,使用的是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;'
本文向大家介绍JavaScript实现微信红包算法及问题解决方法,包括了JavaScript实现微信红包算法及问题解决方法的使用技巧和注意事项,需要的朋友参考一下 专栏停更了很久,向大家说声抱歉。今天的主题是使用JavaScript模拟实现微信抢红包的算法。这个题目看起来很简单,不就是一个随机函数吗?我们一起实现看看。 我们假设有一个100元的红包,要发给10个人。为了保证公平,算法需要保证以下的
本文向大家介绍安装使用Vmware出现的问题及解决方法,包括了安装使用Vmware出现的问题及解决方法的使用技巧和注意事项,需要的朋友参考一下 虚拟机正在使用或无法连接到 报类似如下错误时 解决方案 首先进入该页面获得虚拟机所在位置 删除.ick后缀的文件,该文件应该是保存了虚拟机上次运行时的运行状态 然后Ctrl+Alt+Delete键打开任务管理器,键盘敲入v快速查找和Vmware相关的进程,
本文向大家介绍Android 出现问题Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER解决办法,包括了Android 出现问题Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER解决办法的使用技巧和注意事项,需要的朋友参考一下 Android 出现问题Installation e
本文向大家介绍Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法,包括了Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法的使用技巧和注意事项,需要的朋友参考一下 网络收集的原因如下,以及解决办法: 我补充总结一下: 解决办法一: 在操作网络类(socket连接)的activity的prot
本文向大家介绍在Ajax中使用get和post所遇到的问题及解决办法,包括了在Ajax中使用get和post所遇到的问题及解决办法的使用技巧和注意事项,需要的朋友参考一下 使用get遇到的问题: 1.问题一. 缓存:当每次访问的url相同,客户端直接读取本地缓存里面的内容,即使后台数据变化前台也不会有变化; 解决方法:在?后面链接一个num=【随机数Math.random()】或者num=【时间戳
本文向大家介绍IIS7.5调用asp页面出现800a0e7a的解决办法,包括了IIS7.5调用asp页面出现800a0e7a的解决办法的使用技巧和注意事项,需要的朋友参考一下 在IIS6下面是没这个问题的,把系统放到IIS7.5下windows2008R2 64位系统就出现了ADODB.Connection 错误 '800a0e7a',下面给出详细的解决办法,其实很简单。 咋一看貌似是数据库连接的