快速响应我的jquery ajax请求时遇到一些麻烦.实际发布工作正常,但无论我尝试什么,我似乎无法从我的应用程序实际获得我可以使用的数据响应.起初它只是张贴和不断挂起,就像一分钟之后它会响应一个警告说“XML文档加载”(不知道它来自哪里) – 无论如何,现在它给了我
SyntaxError:意外的标记ILLEGAL
在解析(本机)
在IncomingMessage.
在我的快递App中,我有:
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的字符串,因此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()为我们执行此操作.