有一些麻烦明确地回应我的jquery ajax请求。实际的发布工作正常,但无论我尝试什么,我似乎无法从我的应用程序中实际获取数据响应,我可以使用。起初它只是发布和不断挂起,像一分钟后,它会响应一个警报,说“像XML文件加载”(不知道从哪里来) – 无论如何,现在它给我
SyntaxError:意外的令牌ILLEGAL
在解析(本机)
在IncomingMessage。
在我的快速应用程序中,我有:
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'); },});
一如以往任何帮助将不胜感激!
谢谢
您没有发送有效的JSON响应,但是包含json字符串的String因此JSON.parse()在客户端发生故障。尝试这个:
app.post('/save',res) { console.log(req.body.objectData); res.contentType('json'); res.send({ some: JSON.stringify({response:'json'}) }); });
JavaScript Object Notation是以对象格式在应用程序之间共享数据的方式。但是,您无法通过HTTP请求发送对象,而无需先将其转换为字符串并将其作为单个变量发送。 JSON.parse()和JSON.stringify()函数为我们这样做。