博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery的Ajax跨域请求的解决方案
阅读量:7009 次
发布时间:2019-06-28

本文共 1145 字,大约阅读时间需要 3 分钟。

hot3.png

今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式。分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式。

        什么是jsonp格式呢?API原文:如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。意思就是远程服务端需要对返回的数据做下处理,根据客户端提交的callback的参数,返回一个callback(json)的数据,而客户端将会用script的方式处理返回数据,来对json数据做处理。JQuery.getJSON也同样支持jsonp的数据方式调用。

        客户端JQuery.ajax的调用代码示例:

01 $.ajax({
02     type : "get",
03     async:false,
04     url : "http://www.xxx.com/ajax.do",
05     dataType : "jsonp",
06     jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
07     jsonpCallback:"success_jsonpCallback",//callback的function名称
08     success : function(json){
09         alert(json);
10         alert(json[0].name);
11     },
12     error:function(){
13         alert('fail');
14     }
15 });

    服务端返回数据的示例代码:

1 public void ProcessRequest (HttpContext context) {
2     context.Response.ContentType = "text/plain";
3     String callbackFunName = context.Request["callbackparam"];
4     context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
5 }

转载于:https://my.oschina.net/u/1866821/blog/297675

你可能感兴趣的文章
Windows Server 2012 R2 WSUS-5:组策略配置自动更新
查看>>
配置SCCM 2012 SP1使用证书
查看>>
观Citrix最新官方发布评测报告有感-外行看热闹,内行看门道
查看>>
完整演示:思科IPS旁路模式的部署
查看>>
K8S集群基于heapster的HPA测试
查看>>
linux服务器集群运维经验
查看>>
Powershell-Lync:如何查询用户使用的语音策略
查看>>
《统一沟通-微软-实战》-6-部署-2-中介服务器-6-语音路由-路由
查看>>
关于CocoStudio中AtlasLabel控件后台编码的一点备注
查看>>
搞定Linux Shell文本处理工具,看完这篇集锦就够了
查看>>
Python协程深入理解
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
[转] 从HTTP状态 301,302,200 来看页面跳转
查看>>
遍历Dictionary<K,V>的两种方式
查看>>
【原】Unity3d 类似Dota血条
查看>>
Spring.NET 1.3.2 集成 NHibernate 3.2 - 5 - 事务管理
查看>>
POJ 2771 Guardian of Decency(二分匹配,最大独立集)
查看>>
控制反转IOC与依赖注入DI
查看>>
sqlserver 数据库订阅报错 22202 14058
查看>>
poj 2007 Scrambled Polygon(凸多边形顶点输出)
查看>>