解决jQuery ajax跨域问题,Google、IE、Firefox亲测有效

直接上最后的结果吧

JS:

 1 $.ajax({
 2             type: "GET",
 3             async: false,
 4             crossDomain: true,
 5             url: "www.test.com/TestHandler.ashx",
 6             data: { Id: "1"},
 7             dataType: "jsonp",
 8             jsonp: "callback",
 9             jsonpCallback: "callbackHandler",
10             success: function (data) {
11                 //success
12             },
13             error: function (x, status, error) {
14                 //error
15             }
16         });
View Code

服务端(这里我用的是ashx一般处理程序):

 1 public void ProcessRequest(HttpContext context)
 2         {
 3             JavaScriptSerializer jsonHelper = new JavaScriptSerializer();
 4 
 5             HttpContext.Current.Response.ContentType = "application/json";
 6             HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
 7             HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Origin, Content-Type,Authorization, Accept, X-Requested-With");
 8             HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
 9 
10             var list=数据;
11             
12             if (string.IsNullOrEmpty(context.Request["callback"]))
13             {
14                 context.Response.Write(jsonHelper.Serialize(list));
15             }
16             else
17             {
18                 context.Response.Write(string.Format("{0}({1})", context.Request["callback"], jsonHelper.Serialize(list)));
19             }
20         }
View Code

转载于:https://www.cnblogs.com/doscanner/p/4157401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值