跨域请求解决方案之--JSONP
2017-03-22 14:19
239 查看
元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。
使用
1. 在客户端调用提供JSONP支持的URL Service,获取JSONP格式数据。
比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackFunction
假设客户期望返回JSON数据:["customername1","customername2"]
那么真正返回到客户端的Script Tags: callbackFunction([“customername1","customername2"])
可能的调用方式:
体现
JQuery下:$.getJSON
2. $.ajax
这仅仅需要把服务的JSON数据转换成想要的script tags的形式就可以了,格式可以自已定义,毕竟这是个非官方的协议。
可参考:Implement JSONP in your Asp.net Application
注:Callback仅仅是JSONP的简单实现,可以根据具体需要实现更复杂的功能,比如可以在客户端动态集成更多的变量数据来完成分页功能。
JSONP支持GET请求,不支持POST请求
相关文章推荐
- 轻松搞定jQuery+JSONP跨域请求的解决方案
- jsonp跨域请求只能get变相解决方案
- Ajax跨域请求解决方案——jsonp
- Ajax跨域请求解决方案——jsonp
- jsonp 跨域请求实例
- AJAX 跨域请求 - JSONP获取JSON数据
- jsonp 跨域请求实例
- 详解SpringBoot多跨域请求的支持(JSONP)
- jsonp其实很简单【ajax跨域请求】
- JQuery的Ajax跨域请求的解决方案
- jQuery jsonp跨域请求
- 用JSONP实现跨域请求
- 解决:在使用JSONP跨域请求时.AJAX的dataFilter获取返回数据出现undifined
- jsonp跨域请求
- jsonp, 跨域请求
- web跨域请求<一>之JSONP
- 跨域访问的解决方案(非HTML5的方法:JSONP)
- 网页跨域请求问题之jsonp原理分析
- ajax跨域请求数据的解决方案
- 每日学一点-jsonp(ajax跨域请求)