我正在尝试从site2发送数据到site1。但我得到错误,答案没有回来,我做错了什么?这是代码ajax POST
$.ajax({
url: "site1/form.php",
crossDomain: true,
type: "POST",
data: {a: 'a1'},
contentType: "application/json; charset=utf-8;",
async: false,
dataType: 'jsonp',
success: function(data){
console.log('callback success');
console.log(data);
},
error: function(xhr, status, error) {
console.log(status + '; ' + error);
}
});
这是来自site1的表单
$a= $_POST['a']; echo $a;
可能有什么不对?在.htaccess的site1上的标题我订购..
答案 0 :(得分:0)
在跨域ajax请求中,现代浏览器在使用方法preflight
发出实际请求之前向域发送option
请求。如果您定义自定义标题(在您的情况下已定义content-type
),则它将被阻止。您可以允许远程服务器中的所有请求或特定域接受所有类型请求(在apache中,您可以在htaccess
中执行此操作,在IIS服务器中,您必须更改webconfig.xml
。
答案 1 :(得分:0)