我已经设置了一个本地运行的Apache服务器来托管我的Web应用程序(用ExtJs编写)。我还有一个用phantom.js制作并使用端口8080监听的secon本地服务器:
var server, service;
server = require('webserver').create();
service = server.listen(8080, function (request, response) {
response.statusCode = 200;
response.write('<html><body>Hello!</body></html>');
response.close();
});
现在我想从我的应用程序向幻像服务器发出Ajax请求:
Ext.Ajax.request({
url: 'http://localhost:8080',
method: 'GET',
success: function(response){
console.log('RESPONSE: ', response);
},
filure: function(response){
console.log('failure: ', response);
}
});
但是当我运行这个脚本时,我得到了:
控制台中的 "NetworkError: 400 Bad Request - http://localhost:8080/?_dc=1336648497292"
。此操作是否违反了相同的原始政策?或者是别的什么 ?转到localhost:8080显示正确的响应,因此服务器正常运行。
答案 0 :(得分:2)
你的html也在localhost:8080上?如果不是(不同的端口=&gt;不同的主机)那么你就有了跨域的ajax问题。
答案 1 :(得分:0)
Ajax无法在File protocals上运行!!它仅适用于HTTP或HTTP。我找到了关于udemy的课程,导师说ajax不会在档案上工作:d://(路径)protocals。所以他将文件转移到了Web服务器,然后他在ajax上解释了他的主题。
希望这有帮助!