Php 为什么跨域ajax post不';不行?
我正在尝试从站点2向表单站点1发送数据。但是我犯了错误,答案没有回来,我做错了什么?这是代码ajax POSTPhp 为什么跨域ajax post不';不行?,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试从站点2向表单站点1发送数据。但是我犯了错误,答案没有回来,我做错了什么?这是代码ajax POST $.ajax({ url: "site1/form.php", crossDomain: true, type: "POST", data: {a: 'a1'}, contentType: "application/json; charset=utf-8;", async: false, dataType: 'jsonp',
$.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上的标题。在跨域ajax请求中,现代浏览器在使用方法
选项发出实际请求之前,向域发送飞行前
请求。如果您定义了自定义标题(在您的情况下,您已经定义了内容类型
),则它将被阻止。您可以允许远程服务器中的所有请求或特定域接受所有类型的请求(在apache中,您可以在htaccess
中执行此操作,而在IIS服务器中,出于明显的安全原因,您必须更改webconfig.xml
。请参阅。默认情况下禁止跨域ajax请求,您可以启用它们,但这是一种风险,因为任何其他站点都可以代表其用户访问您的数据
出于安全原因,请参考答案。您会遇到什么错误?您会遇到什么错误?您会遇到什么错误?首先,您有一个指向站点的相对url,其次,ajaxed站点是否允许跨域访问?您可以尝试使用curl post吗?