1

我使用 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);
    }

但我收到此错误:

未捕获的类型错误:Object #<Object> has no method 'split'

4

2 回答 2

4

您没有提供足够的代码,但看起来好像您message的代码已经被解析,因此您有一个Object而不是一个string.

也就是说,您在问题中显示的 JSON 数据是无效的 JSON。不确定这是否是您得到的实际响应,或者您是否更改了它。

当您确实需要解析 JSON 时,请使用JSON.parse(). 无需手动进行。


如上所述,您已经在解析 JSON。

var objResponse = $.parseJSON(messageObj.responseText);
于 2013-09-10T19:15:56.150 回答
1

消息是未定义的,就我们在这里看到的而言。你的意思

outputString.split(":");
于 2013-09-10T19:15:56.180 回答