thr*_*801 21 ajax jquery node.js express
快速响应我的jquery ajax请求时遇到一些麻烦.实际发布工作正常,但无论我尝试什么,我似乎无法从我的应用程序实际获得我可以使用的数据响应.起初它只是张贴和不断挂起,就像一分钟之后它会响应一个警告说"XML文档加载"(不知道它来自哪里) - 无论如何,现在它给了我
SyntaxError:IncomingMessage中解析(本机)时出现意外的标记ILLEGAL.
在我的快递App中,我有:
app.post('/save', function(req, res) {
console.log(req.body.objectData);
res.contentType('json');
res.send({ some: 'json' });
});
Run Code Online (Sandbox Code Playgroud)
在我的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');
},
});
Run Code Online (Sandbox Code Playgroud)
Pas*_*nes 21
您没有发送有效的JSON响应,但是包含该单词的字符串json因此JSON.parse()在客户端失败.试试这个:
app.post('/save', function(req, res) {
console.log(req.body.objectData);
res.contentType('json');
res.send({ some: JSON.stringify({response:'json'}) });
});
Run Code Online (Sandbox Code Playgroud)
JavaScript Object Notation是一种以对象格式在应用程序之间共享数据的方法.但是,如果没有先将对象转换为字符串并将其作为单个变量发送,则无法通过HTTP请求发送对象.功能JSON.parse()并JSON.stringify()为我们这样做.