当前位置: 首页 > 知识库问答 >
问题:

AngularJS:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”

慕逸仙
2023-03-14

我试图做ajax调用使用AngularJS$超文本传输协议服务连接到RESTful API。

我得到的结果:

无法加载XMLHttpRequesthttp://hostname:8080/abc/test. 请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。

我知道我正在对另一个域执行XMLHttpRequest。因此浏览器正在阻止它,因为出于安全原因,它通常允许相同来源的请求。

请求代码

$http({
method: 'GET',
cache: true,
url: "http://hostname:8080/abc/test"
}).then(function successCallback(response) {
console.log(response);
}, function errorCallback(response) {
});

我读了很多关于stackoverflow的问题:

请求的资源上不存在“Access Control Allow Origin”标头错误
Access Control Allow Origin标头
请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“…”

但没有成功。任何即时的帮助都将是非常值得赞赏的。谢啦

共有3个答案

淳于乐池
2023-03-14

今天早些时候,我在自定义编写的Go语言服务器上遇到了这个问题。

如果您连接到自定义编码服务器搜索

"{语言}cors"

如果您使用给定的api搜索"{服务器}cors"

你应该找点东西

乐正玺
2023-03-14

您确定这在您的代码中吗?

url: http://hostname:8080/abc/test

当然,因为url应该是字符串

url: "http://hostname:8080/abc/test"

此外,您必须允许服务器上的跨源请求。如何做到这一点取决于您的服务器。你的服务器是用什么写的?php?JAVA哪些框架?等

裘禄
2023-03-14

我得到了我发布的这个问题的答案,它现在运行良好。

我们必须使用JSONP来防止跨原产地政策。

代码

var url = "http://hostname:8080/abc/test?callback=JSON_CALLBACK";

$http.jsonp(url)
    .success(function(data){
        console.log(data);
    });
 类似资料: