Javascript jQuery ajax get响应未解析或未看到
问题是jQuery没有收到服务器的响应,我不知道为什么。这是我的设置,Windows 7 64位: ext.js: 099.html:Javascript jQuery ajax get响应未解析或未看到,javascript,jquery,ajax,node.js,Javascript,Jquery,Ajax,Node.js,问题是jQuery没有收到服务器的响应,我不知道为什么。这是我的设置,Windows 7 64位: ext.js: 099.html: <doctype html> <html lang="en"> <head> <!-- charset title style --> <meta charset="uft-8"/> <title>jQuery 099</title> </head>
<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>
我使用以下命令从命令行运行节点0.10
C:\dev\nodejs\0.10\servers\stackoverflow>node server.js
在我的FF浏览器中,我键入
http://localhost:3000/?input=hi
我得到一个空白屏幕,里面有hi,
这很好。另外,node.js在命令行上打印got和hi
我从notepad++>run>chrome>运行099.html,所以它运行在完全不同的驱动器上,但肯定不需要在服务器上,对吗?当我在文本字段中键入某物XYZ并单击ajax按钮时,node会在控制台XYZ上响应,这很好:请求由node发现,因此它会发送响应,但我在html中看不到响应。
预期的行为是一个警报,我的div被填充到html中并显示XYZ
我遗漏了什么明显的要点
我现在被困了两个小时,找不到类似的问题,可能是因为我不知道jquery
ps:099来自newboston youtube教程,jquery来自jquery站点。我不知道快速版,这是一个相当新的版本
ps2:jquery$.get()api太模糊了:声明:“如果请求成功,将执行回调函数。”那么,我可以断定请求成功是因为nodejs控制台对其做出了反应,如果是,为什么回调函数没有执行
ps3:最后一个参数是数据类型,可能节点以$.get没有预料到的方式响应?有数据类型建议吗
编辑:昨天我掸掉了我的tomcat的灰尘,把上面的文件放进去,jquery就像一个魔咒一样运行
我真傻,假设磁盘上的文件可以通过http与服务器通信,我在想什么。
ajax的本质是“侦听异步响应”(例如),因此文件需要驻留在建立某种IP地址的地方。很抱歉污染了Internet,案例已结案。您在发出ajax请求时无法更改端口号-这是限制。看看你能用什么来代替。你是什么意思?端口是3000。我的意思是这是不起作用的代码的一部分:
$.get('http://localhost:3000“,
-在URL参数中指定端口号相同机器相同本地主机、相同端口、相同来源策略未违反afaik。
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);
http://localhost:3000/?input=hi