chrome和ie不执行ajax回调函数,用jquery ajax调用远程方法,在IE中成功,在firefox和chrome中失败...

用jquery ajax调用远程方法,在IE中成功,在firefox和chrome中失败

用jquery ajax调用远程方法,在IE中成功,在firefox和chrome中失败

在IE中运行没有问题,调用了远程方法后,程序进入了jquery ajax 的success代码块中。

用firefox和chrome执行的时候,程序没有调用远程的方法,并且程序进入了jquery ajax的error代码块中,打印出来了错误消息:

XMLHttpRequest.state:function (){return e}

XMLHttpRequest.readyState:0

textStatus:error

XMLHttpRequest.responseText:undefined

在网上查了下,XMLHttpRequest.readyState:0 的意思是(未初始化)还没有调用send()方法。这是为什么呢?说明ajax的请求根本就没有发送出去?论文网

$('#callwebserviceId').click(function() {

$.ajax({

url: 'http://localhost:9081/xxx/RetriveHelloWordService?wsdl/sayHello',

type: 'post',

dataType: 'xml',

data: populateXML(),//此js方法返回一个完整的xml,作为参数传入远程方法

contentType: 'text/xml;charset="utf-8"',

success:function(zz){

alert("success la:");

alert("result1:"+$(zz).text());

},

error: function(XMLHttpRequest, textStatus) {

alert("error la");

alert("XMLHttpRequest.state:"+XMLHttpRequest.state+"-XMLHttpRequest.readyState:"+XMLHttpRequest.readyState+"-textStatus:"+textStatus+"-XMLHttpRequest.responseText:"+XMLHttpRequest.responseText);

}

});

});

跨域了吧,firefox下端口不一样也算跨域

ie能请求是楼主没有搭建服务器来访问吧,直接拖进浏览器或者双击运行,这样ie可以跨域,通过http访问就不行了

可以用jsonp来操作,前提是你要配置好跨域页面的请求方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值