gpt4 book ai didi

java - 如何克服 Angular JS 的 CORS 问题

转载 作者:行者123 更新时间:2023-11-30 11:16:54 25 4
gpt4 key购买 nike

我在从我的 Angular JS 代码调用 REST 服务时卡住了:

服务:

app.factory('UserFactory', function ($resource) {
return $resource('http://localhost:8080/demoApp/service/users', {}, {
show: { method: 'GET', isArray: true },
})
});

Controller :

function userListController($scope, UserFactory){   
$scope.showUser = function () {
alert("Show user ...");
$scope.fetchedData = [];
$scope.users = UserFactory.show();
$scope.fetchedData.push($scope.users);

};
}

为了克服 CORS,我们实现了 Java CORS 过滤器,如下所示 -

Following line were written in doFilter method inside a Filter -

response.setHeader("Access-Control-Allow-Origin", "*");

response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");

response.setHeader("Access-Control-Max-Age", "3600");

response.setHeader("Access-Control-Allow-Headers", "x-requested-with");

它与 $http.jsonp 完美配合。但是,当我们使用上述方式调用时,我们在浏览器 (Chrome) 的 Javascript 控制台中遇到以下错误:

XMLHttpRequest 无法加载 http://localhost:8080/demoApp/service/users。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此不允许访问源 http://localhost:63342

请帮帮我...

问候,

Jayanta P.

最佳答案

很有帮助。本节摘录:

myApp.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];

工作得很好;但是,我不得不使用 Chrome 中提供的 CORS 插件来禁用我的 Chrome 浏览器的安全标志。在那之后,我能够从我的 angularjs 应用程序无缝地进行 restful 调用。

关于java - 如何克服 Angular JS 的 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24646002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com