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 + ")");

这样,就可以正常获取并显示数据了。 

posted @ 2012-12-18 15:43  PPDev  阅读(328)  评论(0编辑  收藏  举报