ajax+servlet跨域问题

最近在对接第三方接口的时候,发现一些小小的问题。前端采用ajax请求https接口,返回一些错误是这样的(XMLHttpRequest cannot load http://192.168.31.151/smartcity/add.PHP. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8156’ is therefore not allowed access.)

和第三方沟通后在后台做如下处理 OK了

/* 允许跨域的主机地址 */
response.setHeader(“Access-Control-Allow-Origin”, “*”);
/* 允许跨域的请求方法GET, POST, HEAD 等 */
response.setHeader(“Access-Control-Allow-Methods”, “*”);
/* 重新预检验跨域的缓存时间 (s) */
response.setHeader(“Access-Control-Max-Age”, “3600”);
/* 允许跨域的请求头 */
response.setHeader(“Access-Control-Allow-Headers”, “*”);
/* 是否携带cookie */
response.setHeader(“Access-Control-Allow-Credentials”, “true”);

还有一种方案 是在前端使用jsonp方式

发表评论

电子邮件地址不会被公开。 必填项已用*标注