【发布时间】:2011-09-11 11:15:15
【问题描述】:
在快速响应我的 jquery ajax 请求时遇到一些麻烦。实际发布工作正常,但无论我尝试什么,我似乎都无法从我的应用程序中获得可以使用的数据响应。起初它只是不断地发布和挂起,大约一分钟后它会回复一个警报,上面写着“XML 文档已加载”(不知道它来自哪里)——不管怎样,现在它给了我
SyntaxError: Unexpected token ILLEGAL 解析时(本机) 在传入消息。
在我的快递应用中,我有:
app.post('/save', function(req, res) {
console.log(req.body.objectData);
res.contentType('json');
res.send({ some: 'json' });
});
在我的 jquery 中:
$.ajax({
url: "/save",
type: "POST",
dataType: "json",
data: {objectData: someObject},
contentType: "application/json",
cache: false,
timeout: 5000,
complete: function() {
//called when complete
console.log('process complete');
},
success: function(data) {
console.log(data);
console.log('process sucess');
},
error: function() {
console.log('process error');
},
});
【问题讨论】:
-
node 标签不适用于 node.js
-
能否打开chrome调试器检查器查看请求正文的JSON内容?您看到的错误是服务器端 JSON 解析阻塞请求正文中的 JSON 内容。这由 express.bodyParser() 处理。也许发布您的请求内容供人们检查。您可能还想暂时停止使用 express.bodyParser(),以便更容易手动调试您的问题,查看原始请求正文。
-
我正在尝试使用此修复的类似技术,但我无法让 'req.body.objectData 返回任何内容,但只能返回错误。您是否正在使用其他模块或知道为什么这不起作用?
标签: jquery ajax node.js express