我正在做一个使用vue js的应用程序。 根据我的设置,当设置改变时,我需要将变量传递给我的URL。
$.get('http://172.16.1.157:8002/firstcolumn/' + c1v + '/' + c1b, function (data) {
// some code...
});
但当我的应用程序点击网址时,它显示了以下信息。
未能加载http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26。Redirect from 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26' to 'http://172.16.1.157:8002/firstcolumn/2017-03-01/2017-10-26/' has been blocked by CORS policy:请求的资源上没有'Access-Control-Allow-Origin'头。Origin 'http://localhost:8080' 因此不允许访问。
除了awd提到的让负责服务器的人重新配置(对于本地开发来说,这是一个不切实际的解决方案),我还使用了这样一个改变来源的chrome插件。
你可以让你的 "本地开发服务器(例如:localhost:8080)"看起来是来自 "172.16.1.157:8002或任何其他域"。
你好,如果我没有理解错的话,你正在做一个XMLHttpRequest到一个与你的页面不同的域。所以浏览器阻止了它,因为出于安全原因,它通常允许在同一来源的请求。当你想做一个跨域请求时,你需要做一些不同的事情。关于如何实现这一点的教程是使用 CORS。
当你使用postman时,他们不受这个政策的限制。引自 Cross-Origin XMLHttpRequest。
常规网页可以使用XMLHttpRequest对象来发送和接收来自远程服务器的数据,但它们受到相同的起源政策的限制。扩展则没有这么多限制。一个扩展可以与它的原点之外的远程服务器交谈,只要它首先请求跨原点的权限。