Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript API请求状态200不可访问_Javascript_Java_Angularjs_Http Headers_Xmlhttprequest - Fatal编程技术网

Javascript API请求状态200不可访问

Javascript API请求状态200不可访问,javascript,java,angularjs,http-headers,xmlhttprequest,Javascript,Java,Angularjs,Http Headers,Xmlhttprequest,我面临一个奇怪的问题。我有一个java spring应用程序在端口8080上运行,Angular应用程序在端口3000上运行。当请求返回状态200时,可以在浏览器网络选项卡中找到响应,但控制台抛出错误XMLHttpRequest无法加载“”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。是否有任何方法可以在不在服务器端进行任何更改的情况下使其正常工作。非常感谢您提供的任何帮助您必须在服务器端启用headers,或使用代理(自己的,或出于

我面临一个奇怪的问题。我有一个java spring应用程序在端口8080上运行,Angular应用程序在端口3000上运行。当请求返回状态200时,可以在浏览器网络选项卡中找到响应,但控制台抛出错误XMLHttpRequest无法加载“”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。是否有任何方法可以在不在服务器端进行任何更改的情况下使其正常工作。非常感谢您提供的任何帮助

您必须在服务器端启用headers,或使用代理(自己的,或出于开发目的)来提供正确的CORS Header

要在Express.js应用程序中启用CORS,请参见-对于简单的用例,一行代码就足够了-
app.use(CORS())

对于桌面或应用程序内使用,如果您愿意,您可以忽略CORS头,因为您可以更好地控制HTTP客户端。

您必须在服务器端启用头,或使用代理(自己的,或出于开发目的)来提供适当的CORS头

要在Express.js应用程序中启用CORS,请参见-对于简单的用例,一行代码就足够了-
app.use(CORS())


对于桌面或应用程序内使用,如果您愿意,您可以忽略CORS头,因为您可以更好地控制HTTP客户端。

听起来您的计算机上有一个服务试图与另一个服务进行通信,并且由于任何原因,它们都不在同一域中。通常,您必须为不在同一环境中的域添加跨域策略

Access Control Allow Origin标头是一个CORS标准,用于指示谁可以通过跨域策略发送通信

您只能在端口80上托管一个网站,而拥有两个网站是没有意义的。一个SSL(443)和一个HTTP(80),这可能就是它生效的原因,是因为您的端口

对于简单的答案,请将标头添加到服务器端响应中,并确保将该域和端口添加到跨域策略中

我鼓励你也试着看看为什么你要进行这些交流。您可以将这两个服务放在一个站点中,并消除需要。这是非服务器更改的最简单答案

否则,您将不得不添加它。这是一个安全协议。有一些步骤可以删除它,但这会让你面临无数的安全漏洞

使用以下链接阅读更多内容,您可以使用*而不是禁用其他方法


上面的标题将允许服务器端实现的所有跨域策略。

听起来您的计算机上有一个服务试图与另一个服务进行通信,并且由于任何原因,它们都没有标识为在同一个域中。通常,您必须为不在同一环境中的域添加跨域策略

Access Control Allow Origin标头是一个CORS标准,用于指示谁可以通过跨域策略发送通信

您只能在端口80上托管一个网站,而拥有两个网站是没有意义的。一个SSL(443)和一个HTTP(80),这可能就是它生效的原因,是因为您的端口

对于简单的答案,请将标头添加到服务器端响应中,并确保将该域和端口添加到跨域策略中

我鼓励你也试着看看为什么你要进行这些交流。您可以将这两个服务放在一个站点中,并消除需要。这是非服务器更改的最简单答案

否则,您将不得不添加它。这是一个安全协议。有一些步骤可以删除它,但这会让你面临无数的安全漏洞

使用以下链接阅读更多内容,您可以使用*而不是禁用其他方法


上面的标题将允许服务器端实施的所有跨域策略。

您可以通过添加扩展在firebox中启用它


您可以通过添加扩展名在firebox中启用它


不可以。如果服务器不允许,您不能发出跨源请求。我可以使用curl或POSTman,如果服务器不允许,请求预览也不应该出现,对吗@不,CORS不是这样工作的。CORS是由浏览器实现的限制。它将不允许您的JavaScript代码访问响应,除非服务器发送允许它的适当标头。您好,请参考否。如果服务器不允许,您不能发出跨源请求。我可以使用curl或邮递员,如果服务器不允许请求,预览也不应该出现,对吗@不,CORS不是这样工作的。CORS是由浏览器实现的限制。它将不允许您的JavaScript代码访问响应,除非服务器发送允许它的适当头
Access-Control-Allow-Origin: *