JSONP(跨域请求) —— 一种非官方跨域数据交互协议

这里采用了JSONP(JSON with
Padding-填充json数据也就是常用的json跨域方式):利用script标签,通过特定的src地址的调用,来执行一个客户端的js函数,在
服务器端生成相对的数据并以参数的形式传递给这个客户端的js函数并执行这个函数,前提是需要服务器端的数据输出支持。在JQuery1.2以后支持JSONP的应用。

1、JSONP的作用

JSON 是一种含有简单括号结构的纯文本,因此许多通道都可以交换 JSON
消息。因为同源策略的限制,我们不能在与外部服务器进行通信的时候使用
XMLHttpRequest。而JSONP是一种可以绕过同源策略的方法,即通过使用 JSON 与

    
由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源,为

了实现跨域请求,可以通过script标签实现跨域请求,然后再服务器端输出JSON数据并执行回调函

数,从而解决了跨域的数据请求。

    
JSONP协议的一个要点:允许用户传递一个callback参数给服务器端,然后服务器端返回数据时

会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自

动处理返回函数了。

2、如何使用JSONP?

    
在客户端声明回调函数之后,客户端通过script标签向服务器跨域请求数据,然后服务器返回的相

应数据并动态执行回调函数