1.JSONP的由来
根据浏览器同源策略,所谓同源就是ip地址、端口、协议都相同时。不同源之间是无法直接访问的,但是script标签的src属性的天然支持跨域(不同源之间请求访问)引用文件,所以JSONP利用了这个特点进行访问数据。JSONP是发送请求之后,后台包装好一段json数据,并且把数据放在一个callback(广大程序员做了一个君子约定,统一使用callback作为key)函数中,返回一个js文件。
2.JSONP有什么用
由于同源策略的限制,ajax的异步对象 new XMLHttpRequest只能请求同源的资源,为了实现跨域请求,可以通过JSONP实现跨域,从而解决数据的跨域请求句号
3.JSONP原理
3.1利用script标签src属性的天然支持跨域访问特点.
3.2利用get请求发送了一个函数的名字(callback)去服务器.
3.3服务器返回了一个函数的调用给浏览器.
3.4并且在函数的参数中传入需要返回的json数据.
这样就没有了不同源的限制.