1、跨域问题

昨天前台系统的首页左侧类目出现了问题,前台访问后台JS报错,这里主要是因为跨域的问题。

 

1.1、 什么是跨域问题

l 1什么是跨域

http://www.a.com  è http://www.b.com        不同域名是跨域

http://www.a.com  è http://www.a.com:8080   域名相同端口不同是跨域

http://a.a.com  è http://b.a.com   不同二级域名是跨域

http://www.a.com  è http://www.a.com/api    同一域名的不同路径不是跨域

可以看出来,以下情况都属于跨域:

u 不同域名

u 不同二级域名

u 同一域名不同端口

 

但是跨域并不一定会有问题何时会有问题

什么时候出现跨域问题

跨域问题出现的场景浏览器对ajax请求的限制不允许跨域请求资源。其它情况没有跨域问题。

如何解决跨域问题

1.1、 JSONP解决跨域原理

1.1.1、 模拟服务端,响应一段字符串

我们在后台系统taotao-manage)中编写一个JSP页面输出一段字符串模拟Servlet服务端

我们发现请求URL的后面自动拼接了参数:callback=jQuery11130... ,这是JQuery自动生成的回调函数名称这样后台程序就得知是跨域请求,然后调用这个回调函数,传递数据。

问题:JSONP有什么缺陷?

JSONP只能发出get请求无法发出POST请求

问题如果必须发出POST跨域请求怎么办

1、 CORS

2、 使用Nginx来进行跨域

原文地址:https://www.cnblogs.com/jacksonxiao/p/11583885.html