JavaScript跨域的解决方案有以下几种:CORS、JSONP、iframe,详见:http://blog.csdn.net/zhouziyu2011/article/details/53057480
下面谈谈JSONP跨域:
JSONP跨域只能是get请求,而不能是post请求。
即使设置type: post,jQuery也会自动转为 get方式来提交。
也就是说,不论指定type:"post"还是type:"get",type参数始终是"get",其实质上都是get请求。
在开发者工具里可见"METHOD"始终为"GET"。
如果将服务端相应的Servlet中的doGet()方法注释掉,跨域访问将不能进行。
解决方法:
(1)客户端:
添加:crossDomain: true修改:dataType: "json"
(2)服务端:
添加:header('Access-Control-Allow-Origin: *');添加:header('Access-Control-Allow-Methods: POST');添加:header('Access-Control-Max-Age: 1000');
不足:
耗时很长。
转载请注明原文地址: https://ju.6miu.com/read-9517.html