【发布时间】:2015-05-11 06:19:17
【问题描述】:
当我尝试返回成功时,我总是收到错误消息。
这是我的脚本代码:
$.ajax({
xhr: function(){
var xhr = new window.XMLHttpRequest();
//Upload progress
xhr.upload.addEventListener("progress", function(evt){
console.log('up');
uploadProgress(evt);
}, false);
//Download progress
xhr.addEventListener("progress", function(evt){
console.log('down');
}, false);
return xhr;
},
url : 'upload',
type: 'POST',
data: data,
cache: false,
dataType: 'xml',
processData: false,
contentType: false,
success: function (result) {
alert('success!');
},
error: function(err){
alert("error --'");
console.log(err);
}
});
我尝试用这个返回成功消息:
var response = {
status : 200,
success : 'Updated Successfully'
}
res.type('json');
res.end(JSON.stringify(response));
或者这个:
res.end('{"success" : "Updated Successfully", "status" : 200}');
或者这个:
res.status(200).send(JSON.parse('{"success":"Hey"}'));
e.t.c ...
而且我总是收到错误警报。 . .
【问题讨论】:
-
为什么不返回
res.json({key: value})?事实上,您设置的响应类型不正确。应该是application\json -
@VsevolodGoloviznin 你的意思是这样的吗?
res.status(200).type('application/json').json({success:'Hello'});因为它不起作用:X -
@VsevolodGoloviznin,同样的结果....
-
能否请您发布您的节点配置?简单地说,您可以将
res.send({ key: value});和application/json写成content-type像这样res.setHeader('content-type', 'application/json'); -
@VsevolodGoloviznin 这里是解决方案:
res.status(200).type('text/xml').send(xml({success:'Hello'}))不一样,但感谢您的帮助;)
标签: javascript jquery ajax json node.js