我正在测试ExtJS v.5.1.0.107,我的目标是在不同的服务器上执行post ajax请求。我发现了一些类似的讨论,但似乎没有什么能适用于我的场景。 这是请求代码:
Ext.Ajax.request({
url: 'http://192.168.1.60/test.php',
method: 'POST',
cors: true,
useDefaultXhrHeader : false,
params : {
myPar1 : myPar1Value
},
success: function () {
alert('success');
},
failure: function () {
alert('failure');
}
});
以下是错误消息:
XMLHttpRequest无法加载http://192.168.1.60/test.php。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://192.168.1.50:22800”访问。
有什么问题吗? 希望可以有人帮帮我。 谢谢大家。
答案 0 :(得分:2)
确保您的文件可以从服务器访问...
如果服务器配置良好,请尝试为
添加响应标头Access-Control-Allow-Origin: *
此命令将允许跨域通过Ajax操作。然后,请求的文件(例如,目标服务器上的test.php)应包含在第一行:
<?php header('Access-Control-Allow-Origin: *'); ?>
然后,您应该更改Apache服务器托管test.php文件的参数。在.htacess文件中:
header set Access-Control-Allow-Origin "http://192.168.1.60/"
希望这有帮助!