JSONP的原理:[json with padding]
引入文件
通过回调函数将获取到的数据当成参数传递给回调函数中的变量。
跨域问题:
域顾名思义就是域名,跨域表示一个域名下的文件访问另一个域名下的资源。
解决跨域问题的方法[由于AJAX存在跨域限制]
- 通过JSONP,也就是script标签
- 通过服务器中转
- 通过flash,创建一个xml文件
|
|
AJAX与JSONP的异同
- 这2种调用方式在技术上看起来很像,都是请求一个URL,再把返回的数据进行处理,因此也可以这样说,jQuery是把JSONP作为AJAX的一种方式进行了封装。
- 但本质上而言,2者是不同的东西,AJAX是通过XMLHttpRequest获取非本页面的内容,而JSONP则是通过动态创建script获取服务器返回的数据【js脚本】。
- 两者的数据格式不一定非得是json格式,可以是任何格式,只不过json格式更为简便明了。
- 总而言之,jsonp不是ajax的一个特例,哪怕jquery把jsonp封装进ajax,也不能改变这一点!