访问骨干js中的返回值

时间:2012-12-19 04:05:19

标签: javascript jquery backbone.js

在我的骨干代码中,我将返回的值返回给变量,现在我必须使用该变量访问一个特定值。

以下是服务器返回的值

Object {
    readyState = 4, 
    responseText = '{"analysis":{"created_a...s"],"status":"active"}}', 
    status = 201, 
    more...
}

这是我在控制台

中获得上述结果的方法
attributes = {
    locale: $action.find('#locale').val(),
    title: $action.find('#title').val(),
    category: $action.find('#category').val(),
    status: $action.find('#analysis_status').val(),
    matrix: $action.find('#analysis_matrix').val(),
    predefined_barriers: barrierTexts,
    features: featureTexts
}

b = this.model.save(attributes);

我想要的是访问responseText

如何使用变量b访问它,或者还有其他任何好办法

由于

2 个答案:

答案 0 :(得分:1)

这是一个异步调用,所以它必须是一个回调。您可以将success回调传递给save -

b = this.model.save(attributes, { success: function(model, response) {

    console.log(b.responseText);
} });

答案 1 :(得分:1)

save method会返回内部使用的jqXHR object返回的jQuery.ajax,因此您可以像往常一样向其添加回调:

this.model.save(attributes).done(function(data) {
    // you could use
    this.responseText
    // but you probably will use the already parsed JSON
    data
});