jquery ajax 跨域请求
今天使用JQuery Ajax 在本地电脑获取远程服务器数据的时候,发现使用$.ajax,$.getJSON,$.get这些都没有反应,后来再统一个网站下测试了一下,代码写得没有问题。后来想了想好想,有个跨域的说法。
百度以后,问题解决,这里自己总结收藏一下:
相同域名:
$.getJSON("GetDeviceRealData.aspx?deviceid=" + deviceid + "&rtype=json", function(data) { $.each(data.list, function(i, o) { html.push(o.name + ":" + o.value + o.unit + "<br/>"); }); $("#divdata").html(html.join('')); });
这样可以正常获取数据并显示l
不同域名:
var pilot = { getdata: function(deviceid) { var html = []; $.getJSON("http://www.aaa.com/GetDeviceRealData.aspx?deviceid=" + deviceid + "&rtype=json&jsoncallback=?", function(data) { $.each(data.list, function(i, o) { html.push(o.name + ":" + o.value + o.unit + "<br/>"); }); $("#divdata").html(html.join('')); }); } }
重点说明:
1.在url后面加上 jsoncallback=? (或者callback=?)
2.在http://www.aaa.com/GetDeviceRealData.aspx返回json的时候 加上 :
string jsonb = Request["jsoncallback"]; .... Response.Write(jsonb + "(" + responseText + ")");
这样,就可以正常获取并显示数据了。
专注iOS、Golang开发。
技术博客:http://xiaopin.cnblogs.com