Ajax从本地js脚本调用本地Phantom.js服务器

时间:2012-05-10 11:36:41

标签: javascript ajax apache extjs phantomjs

我已经设置了一个本地运行的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显示正确的响应,因此服务器正常运行。

2 个答案:

答案 0 :(得分:2)

你的html也在localhost:8080上?如果不是(不同的端口=&gt;不同的主机)那么你就有了跨域的ajax问题。

答案 1 :(得分:0)

Ajax无法在File protocals上运行!!它仅适用于HTTP或HTTP。我找到了关于udemy的课程,导师说ajax不会在档案上工作:d://(路径)protocals。所以他将文件转移到了Web服务器,然后他在ajax上解释了他的主题。

希望这有帮助!