快速响应我的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()为我们执行此操作.