未调用jquery ajax成功事件处理程序 Node.js(express)web服务器 web服务器中的请求处理程序 来自客户端javascript的ajax请求 我能够在服务器端接收请求,并发送4个请求

未调用jquery ajax成功事件处理程序 Node.js(express)web服务器 web服务器中的请求处理程序 来自客户端javascript的ajax请求 我能够在服务器端接收请求,并发送4个请求,node.js,jquery,client-side,Node.js,Jquery,Client Side,但我的成功事件不是在客户端JS中被调用。另外,当我停止我的web服务器时,我看到我的错误处理程序被调用 请提供帮助。主要问题是您没有结束响应,因此服务器实际上从未向客户端发送任何内容。服务器应该以文件、重定向、一些文本等方式响应。您需要使用res.end、res.send、res.sendfile、res.redirect、res.render完成回调。。。看 此外,对于express,您希望使用res.set设置http头: app.get('/documents/ajax/:id.:form

但我的成功事件不是在客户端JS中被调用。另外,当我停止我的web服务器时,我看到我的错误处理程序被调用


请提供帮助。

主要问题是您没有结束响应,因此服务器实际上从未向客户端发送任何内容。服务器应该以文件、重定向、一些文本等方式响应。您需要使用
res.end
res.send
res.sendfile
res.redirect
res.render
完成回调。。。看

此外,对于express,您希望使用
res.set
设置http头:

app.get('/documents/ajax/:id.:format?', function(req, res) {
   console.log ('Request Received');
   var body = 'hello world';
   res.set({'Content-Type': 'text/plain'});
   res.send(body);
});
200
是默认的响应代码,因此您无需指定该代码,长度将为您计算。通过
curl
从命令行调试这些东西通常更容易:

curl http://localhost:3000/documents/ajax/1


我必须在服务器请求处理程序中res.end。之后,我能够在客户端JS中生成成功事件,您使用的是哪个版本的jQuery?jQuery JavaScript库v1.4.4A正确的URL通常是
“/documents/ajax/”+item
,这取决于
item
是什么?我的错误:我在那里有一个斜杠。在我意识到这一点之前,我起草了这个问题。所以我仍然有一个问题,您也可以使用res.end(…)完成回调;2016年,设置标题的语法也有所不同:
app.get('/documents/ajax/:id.:format?', function(req, res) {
   console.log ('Request Received');
   var body = 'hello world';
   res.set({'Content-Type': 'text/plain'});
   res.send(body);
});
curl http://localhost:3000/documents/ajax/1
curl -I http://localhost:3000/documents/ajax/1