我使用 AJAX 帖子从服务器端获取数据,我想在我的网页上显示它。
这就是我得到的:
{text: active user
active user213123
idle user234234234
loggedout userafdadf
},
我希望它在text:
之后显示整个文本.这是我所做的:(message
是整个 json)
AjaxPost: function (dataAttr, view) {
var that = this;
$.ajax({
type: "POST",
url: this.url + " /user",
datatype: "application/json",
contentType: " text/plain",
data: dataAttr,
success: function (data) {},
error: function (error) {},
statusCode: {
400: function (error) {
that.processResponse(error, view);
},
200: function (data) {
that.processResponse(data, view);
}
}
});
},
processResponse: function (messageObj, view) {
if (_.isUndefined(messageObj) || _.isUndefined(view)) {
return "error";
}
switch (messageObj.status) {
case 400:
var objResponse = $.parseJSON(messageObj.responseText);
this.processMessage(false, objResponse, view);
break;
default:
this.processMessage(true, messageObj, view);
break;
}
},
processMessage: function (isSuccess, message, view) {
if (_.isUndefined(isSuccess) || _.isUndefined(message) || _.isUndefined(view)) return "error";
else {
var outputString = "";
var messageResponse = [];
messageResponse = message.split(":");
if (isSuccess) {
output = messageResponse.split(":");
}
view.showMessage(String);
}
但是我得到这个错误:
Uncaught TypeError:
Object #<Object> has no method 'split'
最佳答案
您没有提供足够的代码,但看起来您的消息
已经被解析,因此您有一个Object
而不是string
.
也就是说,您在问题中显示的 JSON 数据是无效的 JSON。不确定这是否是您得到的实际响应,或者您是否更改了它。
当您确实需要解析 JSON 时,请使用 JSON.parse()
。无需手动执行。
如上所述,您已经在解析 JSON。
var objResponse = $.parseJSON(messageObj.responseText);
关于javascript - 解析 json 对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18727073/