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

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

时间: 2024-10-12 12:40:31

在微信中调用ajax出现的问题的相关文章

微信中调用打开手机默认浏览器打开指定网页URL的实现方式

微信跳转浏览器提示的实现方式 最近遇到一个需求.朋友找我制作一个在微信中的聊天框,或者公众号菜单发布一条链接或者二维码,.跳出微信打开一个指定的我们自己的页面,拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的第三方开发文档我们都查阅过资料但是最终只找到一些历史性的资料也就是以前可以现在已经全部封闭了,在网络上找到 很早之前一些前辈分享的遮挡.我们加以改进. 现在可以实现安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器 打开 月牙跳转 网址:http://

微信浏览器中调用支付宝支付

众所周知,在微信浏览器中是无法唤起支付宝的,会提示请在浏览器中打开,如果非要在微信浏览器中调起支付宝的话,只能是跳出微信浏览器,关于这一点,在支付宝官网给出了一个例子.但是,话说回去,后来我仔细想想,其实真的没有必要非要在微信浏览器中调起支付宝支付(当时真是一根筋啊啊啊...) 支付宝手机网站支付的官方文档: https://doc.open.alipay.com/docs/doc.htm?treeId=203&articleId=105288&docType=1 快速接入: https:

关于iphone中微信无法调用百度api的解决方案

http://api.map.baidu.com/direction?origin=latlng:22.550297,113.962555|name:我的位置&destination=22.553143,113.95336&mode=driving&region=''&output=html&src=yourCompanyName|yourAppName 这样的地址在安卓的微信中是能够调用百度的api,但是在iPhone的微信中不行.原因是参数需要encodeurl

ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫

今天做一个项目,是在微信上用的,微信WEB APP,里面用到了调用手机摄像头扫一扫二维码的功能,记得以前某个项目里写有的,但是找不到之前那个项目源码了,想复制粘贴也复制不了了,只好对着微信的那个开发文档重新再写过 ,顺便写个博客,以后碰到相同的问题直接复制博客里的代码就行了 以下是显示在微信上的页面: 以下是页面的代码,(用到了MUI): @{ Layout = "~/Views/Shared/_Layout.cshtml"; } <header class="mui-

ajax中调用回调函数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <a href="javascript:void(0);" id="send">test</a> </bo

使用ASP.NET AJAX 从脚本中调用Web 服务的应用方法

技能点:通过编写WebService,在页面js中调用WebService来进行数据查询. 网站开发,有些时候需要使用js在页面动态生成一些内容,但还有些数据要通过查询数据库才能获取的. 但由于诸如主键id等一些关键数据在后台不易获取,或在后台获取数据后不易直接在前台通过js使用. 这种情况下,使用js+ajax的方式来实现,效果也是不错的. 1.编写webservice: 1 using System; 2 using System.Collections.Generic; 3 using S

bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一点特别的是另外一个js的方法中会进行一个ajax, 会根据ajax返回的结果来进行返回true或者false. 在测试的过程中我发现不管怎么弄, 最后返回的都是undefind. 下面来模拟一下这个场景 上面这个例子中,flag一直都是undefind,ajax已经是同步的情况下依旧返回undefi

从零开始学 Web 之 Ajax(六)jQuery中的Ajax

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.jQuery中

微信中QQ表情的解析(php)

微信公众平台接受的消息中,标签是用'/:'开头的字符串表示的,假设要在网页上显示(比方制作微信大屏幕),就须要进行转换. 所以我向微信公众平台按顺序发送了各个QQ表情,在微信公众平台后台能够看到接受的表情会被解析成https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/0.gif 这种图片.所以自己写一套解析函数就可以. 在微信公众平台后台发现,腾讯自己干了一件错误的事情:有一些表情没有被正确解析,这些标签的特点是有括号.引號这种字