XHR和Access-Control-Allow-Origin

时间:2015-10-13 13:28:57

标签: karma-runner karma-jasmine karma-mocha

我正在测试的方法之一是将XMLHttpRequest发送到“http://localhost:4848/qrs/extension/schema?xrfkey=asdfasdfdf”。我收到一个看起来像这样的错误 -

XMLHttpRequest cannot load http://localhost:4848/qrs/extension/schema?xrfkey=asdfasdfdf. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9875' is therefore not allowed access. The response had HTTP status code 404.

现在我知道测试是在“localhost:9876”上提供的,尝试访问localhost:4848实际上违反了跨域策略。我已经看到了业力代理设置并尝试了 -

proxies: {
   '/qrs': 'http://localhost:4848/qrs'
}

但这样做实际上是来自“http://localhost:9876/qrs/extension/schema?xrfkey=asdfasdfdf”的内容。但这样我的客户端代码将无法正常工作。因为客户端代码直接将XHR请求发送到“http://localhost:4848/qrs/ .....”,但不是“http://localhost:9876/qrs/ .....”。

有任何建议我该如何解决?

另外,在配置文件中设置不同的标题可能不是更好吗?至少我们知道我们在这里谈论测试(我的意思是不在生产中)。

提前致谢。

0 个答案:

没有答案