jquery ajax 跨域请求

本文介绍如何解决使用JQueryAjax从本地电脑获取远程服务器数据时遇到的跨域问题。通过修改请求参数和服务器响应内容,实现了不同域名间的正常数据获取及显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天使用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 + ")");

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值