标签:
今天做一个AJAX案例时,浏览器监控到如下错误:
XMLHttpRequest cannot load http://54.169.69.60:8081/process_message. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://54.169.69.60‘ is therefore not allowed access.
网站地址是 http://54.169.69.60/qnow/ 而 AJAX URL 是 http://54.169.69.60:8081/process_message,两个端口不一致,因此要跨域。
Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。
它定义了该资源允许被哪个域引用,或者被所有域引用(google字体使用*表示字体资源允许被所有域引用)。
解决方法:
根据错误信息可知,必须给 header 加上头部 Access-Control-Allow-Origin,比如我的是 Node.js,这样写:
response.type(‘application/json‘); response.status(200); response.append(‘Access-Control-Allow-Origin‘, "*"); if (err) { response.json({ result: ‘error‘, message: err }); } else { response.json({ result: ‘success‘, message: res.message }); }
No 'Access-Control-Allow-Origin' header is present on the requested resource.
标签:
原文地址:http://www.cnblogs.com/felixnet/p/5364617.html