CORS 预检通道未成功 - 客户端 - 服务器
CORS preflight channel did not succeed - client - server
我正在构建一个应用程序并使用下面的测试代码来测试 angular http.Post()
但是我收到一个奇怪的错误,提示我的预检没有成功。
客户端代码如下
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
{{ names }}
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.post("http://ec2-52-3-54-45.compute-1.amazonaws.com/api/user/dogs",{id:'hello word!'})
.success(function (response) {
$scope.names = response});
});
</script>
</body>
</html>
下面是另一端的.htaccess文件
Header set Access-Control-Allow-Methods "POST"
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
而应该处理此问题的 PHP 是
<?php
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
header( ‘Access-Control-Allow-Headers: Authorization, Content-Type’ );
header("Access-Control-Allow-Origin: *");
我不确定为什么会收到此错误或我到底做错了什么。非常感谢任何帮助或见解。
这个 htaccess 代码应该可以工作:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Access-Control-Allow-Origin"
Header always set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Angularjs 在发出 POST 请求之前发出 OPTIONS 请求
我正在构建一个应用程序并使用下面的测试代码来测试 angular http.Post()
但是我收到一个奇怪的错误,提示我的预检没有成功。
客户端代码如下
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
{{ names }}
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.post("http://ec2-52-3-54-45.compute-1.amazonaws.com/api/user/dogs",{id:'hello word!'})
.success(function (response) {
$scope.names = response});
});
</script>
</body>
</html>
下面是另一端的.htaccess文件
Header set Access-Control-Allow-Methods "POST"
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
而应该处理此问题的 PHP 是
<?php
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
header( ‘Access-Control-Allow-Headers: Authorization, Content-Type’ );
header("Access-Control-Allow-Origin: *");
我不确定为什么会收到此错误或我到底做错了什么。非常感谢任何帮助或见解。
这个 htaccess 代码应该可以工作:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Access-Control-Allow-Origin"
Header always set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Angularjs 在发出 POST 请求之前发出 OPTIONS 请求