【发布时间】:2016-08-01 20:17:17
【问题描述】:
我有一个简单的 node.js 服务器保存在一个名为 server.js 的文件中,其代码如下:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8010);
我通过执行在命令行中本地运行它(安装了 node.js)
node server.js
如果我随后在我的浏览器(谷歌浏览器)中使用 URL my.local.IP.address:8010 访问它,它会成功显示 hello world。
我还创建了一个网页,该网页将在页面加载后立即执行此 jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.get("http://my.local.IP.address:8010/", function(){
alert("Success");
}).fail(function(err){
alert("Failed");
alert(JSON.stringify(err));
});
});
</script>
当我在浏览器中打开这个 html 文件时,它总是会创建一个警告框,提示失败,然后是这个字符串化的 JSON 对象作为错误(我已经对其进行了格式化,以便于阅读):
{
"readyState": 0,
"status" : 0,
"statusText": "error"
}
无论我在 node.js 服务器在本地运行时尝试了多少次,都会发生这种情况。我也尝试过自己做一个异步 XMLHTTP 请求函数,这也不起作用。
我知道我制作的 jQuery 和 XMLHTTP 函数都能正常工作,因为如果我调用 URL https://httpbin.org/get 上的函数,它将成功返回。
关于我哪里出错了有什么想法吗?
【问题讨论】:
-
为方便起见,请使用相对 url,只需转到
/即可从http://localhost:8010开始。所以试试$.get('/', function() { alert('success'); }
标签: javascript jquery node.js httprequest http-get