使用jsonp进行跨域请求,请求方
$.ajax({ type: "get", async: false, url: "http://server.com/Default.aspx", dataType: "jsonp", jsonp: "callbackparam", jsonpCallback: "jsonpHandle", success: function (json) { jsonpHandle(json); alert(json); }, error: function () { alert('fails'); } }); function jsonpHandle(data) { alert('call'); alert(data); }
从谷歌浏览器上来看,调用方可以获得服务方返回的json数据,但是既不会执行success的函数,也不会执行error的函数
你用的是什么版本的jQuery?
试试把
jsonp: "callbackparam",
改为:
jsonp: false,
1.4.1的
以上问题通过引入远程服务端的一段js后,jsonpHandle函数就可以执行
服务端js如下:
jsonpHandle(
{ "result": "我是远程js带来的数据" }
)
把 jsonp 和 jsonpCallback 都去掉就好执行 success了