【发布时间】:2016-04-29 18:15:47
【问题描述】:
我想使用 AJAX 将数据从 domain1.com 发布到 domain2.com,但我的请求失败。
这是我在domain1.com 上的代码:
$.ajax({
type: 'POST',
url: 'https://domain2.com/payment/api/server',
crossDomain: true,
data: {
Name: $("#name").val().trim(),
Email: $("#email").val().trim()
},
dataType: 'json',
success: function(data) {
alert('Success');
},
error: function (data) {
alert('POST failed.');
}
});
这是我在domain2.com 上的服务器端代码:
switch ($_SERVER['HTTP_ORIGIN']) {
case 'http://domain1.com/api/': case 'http://domain1.com/api/':
header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
break;
}
$name = $_POST['Name'];
echo $name; // Just to check if I receive the value from index.php
【问题讨论】:
-
副本上的答案已过时。现在我们有 CORS:stackoverflow.com/questions/10636611/…
-
*标记为重新打开。 OP 询问使用 CORS 的跨域发布。另一个问题和选择的答案没有提到 CORS。
-
@Jasny-ArnoldDaniels 给定的代码有什么问题吗?请指教。
标签: javascript php jquery ajax cors