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

這樣,就可以正常獲取並顯示數據了。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章