ajax使用jsonp跨域调用webservice error错误信息"readyState":4,"status":200,"statusText":"success"

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20846487/article/details/51782547
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="javascript">$.ajax({							
type: "get", //用POST方式传输
dataType: "jsonp", //数据格式:JSON
url: 'url', //目标地址
async: false, //是否异步
jsonp: "jsapicallback", //服务端用于接收callback调用的function名的参数
jsonpCallback: "success_jsonpCallback",
success: function(obj) {
	var result = obj;
<span style="white-space:pre">	</span>alert(result[0].r);
},
error:function(errormsg){
console.log(errormsg);
}
});
进入error,但输出的报错信息为:“{"readyState":4,"status":200,"statusText":"success"}"
原因是webservice返回的数据不是正确的jsonp格式
或者同一个webservice中处理多个jsonp请求,且jsonpCallback都缺省
此时使用 String callbackFunName = context.Request["jsapicallback"];
...  context.Response.Write(callbackFunName + rdata);的方式 ,无法正确获取带有callback方法名的jsonp对象,所以jsonpCallback尽量不要省略
 

猜你喜欢

转载自blog.csdn.net/sinat_20846487/article/details/51782547