JSONP的工作原理,如何解决跨域问题,以及JSON 和XML数据格式的区别

先说说什么是JSONP,这首先还要引出一个概念:跨域。咱们先通过一些例子来先了解什么是跨域。

一.由于javascript的同源策略限制,出于安全方面的考虑,不允许跨域调用其他页面的对象,不管是静态页面、动态页面、web服务等,只要是跨域请求一律不允许!

二.同源、跨域

所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:

123.com/index.html 调用 123.com/server.PHP (非跨域)

123.com/index.html 调用 456.com/server.php (主域名不同:123/456,跨域)

abc.123.com/index.html 调用 def.123.com/server.php (子域名不同:abc/def,跨域)

123.com:8080/index.html 调用 123.com:8081/server.php (端口不同:8080/8081,跨域)

123.com/index.html 调用 123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。

注意:可以请求资源的html标签拥有跨域的能力,比如

你可能感兴趣的:(Jsonp,jsonp,json,xml)