jQuery ajax获取响应未解析或未见

时间:2014-06-28 18:36:58

标签: javascript jquery ajax node.js

问题是jQuery没有收到服务器的响应,我无法弄清楚原因。这是我的设置,Windows 7 64位:

ext.js:

$('#button').click(function(){
    var string= $('#string').val(); 
    $.get('http://localhost:3000', 
        {"input":string}, 
        function(data){
            alert(data);
            $('#feedback').text(data);
        }); 
})

099.html:

<doctype html>
<html lang="en">
<head> <!-- charset title style -->
    <meta charset="uft-8"/> 
    <title>jQuery 099</title>
</head>
<body><!-- tables, div's bad, html 5 is better: -->

    <input type="text" id="string" value=""/>
    <input type="button" id="button" value="ajax"/>
    <br/>
    <div id="feedback"></div>
</body> 
    <script type="text/javascript" src="./js/jquery-2.1.1.min.js"></script>
    <script type="text/javascript" src="./js/ext.js"></script>
</html>

server.js:

var express = require('express');
var app = express();

app.get('/', function(req, res){
    console.log("got");
    console.log(req.query.input);
    var content = req.query.input;
  res.send(content);
});

app.listen(3000);

我使用命令行运行节点0.10 C:\ dev \ nodejs \ 0.10 \ servers \ stackoverflow&gt; node server.js

在我的FF浏览器中输入

http://localhost:3000/?input=hi

我得到一个包含hi的空白屏幕, 这很好。此外,node.js打印得到,然后在命令行打印

我从记事本++&gt;运行099.html运行&gt;铬&gt;所以它运行在一个完全不同的驱动器上,但肯定它不需要在服务器中,对吧?当我在文本字段中键入XYZ并单击ajax按钮时,节点在控制台XYZ上响应,这很好:请求是由节点发现的,因此它会发送响应,但我在html中看不到响应。 预期的行为是一个警报,我的div填入html并显示XYZ。

我错过了什么明显的观点?

我现在已经坚持了2个小时并且因为我不知道jquery而无法找到类似的问题。

ps 099来自newboston youtube教程,jquery来自jquery站点。我不知道快递版本,这是一个相当新的版本。

ps2:jquery $ .get()api过于模糊:http://api.jquery.com/jquery.get/表示:“如果请求成功,则执行回调函数。”好吧,我可以得出结论,请求成功,因为nodejs控制台对它做出了反应,如果是,为什么回调函数不执行。

ps3:最后一个参数是dataType,也许节点以$ .get没想到的方式响应?任何数据类型的建议?

编辑:昨天我把我的tomcat掸掉了,把上面的文件放进去,jquery像魅力一样运行。

我是多么愚蠢,假设磁盘上的文件可以通过http与服务器进行通信,我在想什么。 ajax的本质是“侦听异步响应”(例如http://msdn.microsoft.com/en-us/magazine/cc163479.aspx),因此文件需要驻留在某种显然建立某种IP地址的东西上。很抱歉污染互联网,案件已关闭。

1 个答案:

答案 0 :(得分:0)

发出ajax请求时无法更改端口号 - 这是Same origin policy限制。看看您可以使用SocketIO做些什么。