Can';t使用Angularjs执行CORS请求
我正在编写我的第一个AngularJS应用程序,在AngularJS中遇到了CORS问题。我尝试过这篇文章中提到的内容,但仍然没有解决这个问题的运气 JS代码(main.JS)如下所示:Can';t使用Angularjs执行CORS请求,angularjs,Angularjs,我正在编写我的第一个AngularJS应用程序,在AngularJS中遇到了CORS问题。我尝试过这篇文章中提到的内容,但仍然没有解决这个问题的运气 JS代码(main.JS)如下所示: var app = angular.module("app",[]); app.config(['$httpProvider', function($httpProvider) { delete $httpProvider.defaults.headers.common['X-Requested-Wit
var app = angular.module("app",[]);
app.config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
app.controller("AppCtrl", function ($scope, $http) {
var postData = "username=demo&password=demo";
$http.post("http://sampleurl.com/login",postData).success(function(data, status, headers, config)
{
console.log(data);
});
});
$http({
url:'http://sampleurl.com/api',
method:"POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: postData
})
Index.html文件是:
<!DOCTYPE html>
<html>
<head>
<title>Sample Angular App</title>
</head>
<body ng-app="app" ng-controller="AppCtrl as app">
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
<script src="main.js"></script>
</body>
</html>
我已经尝试过使用Ajax运行这个请求,它在Ajax中运行得很好。由于某些原因,无法使用Angular使其工作。你知道我做错了什么吗
谢谢 您需要做两件事,在.config中,您需要放置以下内容:
$httpProvider.defaults.withCredentials = true;
然后在您的服务器上,您需要返回一个Access Control Allow Origin头,它可能如下所示:
Access-Control-Allow-Origin:http://URL_OF_SITE_YOUR_ANGULARJS_APP_IS_AT
您需要做两件事,在.config中,您需要放置以下内容:
$httpProvider.defaults.withCredentials = true;
然后在您的服务器上,您需要返回一个Access Control Allow Origin头,它可能如下所示:
Access-Control-Allow-Origin:http://URL_OF_SITE_YOUR_ANGULARJS_APP_IS_AT
嗯。所以基本上,在经过大量的修补之后,我意识到params并没有通过使用
$http.post("http://sampleurl.com/login",postData)
因此,我将此请求改写如下:
var app = angular.module("app",[]);
app.config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
app.controller("AppCtrl", function ($scope, $http) {
var postData = "username=demo&password=demo";
$http.post("http://sampleurl.com/login",postData).success(function(data, status, headers, config)
{
console.log(data);
});
});
$http({
url:'http://sampleurl.com/api',
method:"POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: postData
})
这件事很好地得到了通过的请求。希望这对其他人有帮助
干杯 好的。所以基本上,在经过大量的修补之后,我意识到params并没有通过使用
$http.post("http://sampleurl.com/login",postData)
因此,我将此请求改写如下:
var app = angular.module("app",[]);
app.config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
app.controller("AppCtrl", function ($scope, $http) {
var postData = "username=demo&password=demo";
$http.post("http://sampleurl.com/login",postData).success(function(data, status, headers, config)
{
console.log(data);
});
});
$http({
url:'http://sampleurl.com/api',
method:"POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: postData
})
这件事很好地得到了通过的请求。希望这对其他人有帮助
干杯 如果要发送带有凭据的CORS请求“”,则需要服务器回复“访问控制允许来源”:“http://您的.request.Origin”。对于具有凭据的请求,大多数浏览器将拒绝通配符(*)回复,,如果您想发送具有凭据的CORS请求“”,“您需要服务器回复“访问控制允许来源”:“http://您的.request.Origin”。对于具有凭据的请求,大多数浏览器将拒绝通配符(*)回复,,,我也遇到了同样的问题,然后我从这个链接读到: 一切都很顺利:)
我也遇到了同样的问题,然后我从这个链接上读到: 一切都很顺利:)
我以前也遇到过同样的问题,我通过添加以下标题来解决此问题:
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
我以前也遇到过同样的问题,我通过添加以下标题来解决此问题:
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
嘿,马修,谢谢你。我添加了.withCredentials行,至少没有出现“访问控制允许来源”标题错误。再次运行代码后,我在控制台中看到一个选项返回,这很奇怪,因为请求是一个POST。我检查了该请求,并且将Origin设置为NULL。在服务器端,已编程“Access Control Allow Origin”:“*”,这就是CORS的工作方式,将有一个选项请求。嘿,马修,谢谢你。我添加了.withCredentials行,至少没有出现“访问控制允许来源”标题错误。再次运行代码后,我在控制台中看到一个选项返回,这很奇怪,因为请求是一个POST。我检查了该请求,并且将Origin设置为NULL。在服务器端,已编程“Access Control Allow Origin”:“*”,这就是CORS的工作方式,将有一个选项请求。老兄,你让我开心极了!我在这个问题上苦苦挣扎!!!谢谢,谢谢!(附言:这些是我不太喜欢的一些角度:-D)老兄,你让我的日子过得太好了!我在这个问题上苦苦挣扎!!!谢谢,谢谢!(注:这是一些我不太喜欢的角度:-D)