【问题标题】:Backbone.js sync - PHP returnBackbone.js 同步 - PHP 返回
【发布时间】:2012-05-13 13:24:32
【问题描述】:

我正在学习使用 Backbone.js 并设置以下环境:

/* define the model */
var Login = Backbone.Model.extend({
    url:"api/index.php/login/"
});

/* the following code is contained in a view method */

var login = new Login({
    email: $("#email").val(),
    pass: $("#pass").val()
});

var result = Backbone.sync('create',login);
alert(JSON.stringify(result));

在服务器上的“index.php”中调用了正确的方法并且数据正确可用。

警报只是输出:{"readyState":1}

现在我的问题是:服务器(index.php)应该返回/输出什么来回答客户端? 我想将数据传输回客户端,例如显示它。

【问题讨论】:

    标签: php rest backbone.js


    【解决方案1】:

    Backbone.sync() 是一个异步操作。你做不到

    var result = Backbone.sync('create', login);
    

    因为sync() 没有返回任何有用的东西。它将请求发送到服务器并立即返回,远远早于服务器的响应到达。

    使用options parameter 并将successerror 回调函数放在那里。

    Backbone.sync('create', login, {
      success: function () {
        // whatever you want to do when login succeeds
      },
      error: function () {
        // display an error message
      }
    });
    

    例如,如果服务器返回401 Unauthorized 响应,则将执行error 回调;服务器返回200 OK时的success回调。

    有关如何使用这些回调以及您可以使用哪些其他选项的文档,请阅读jQuery.ajax() 文档。

    【讨论】:

    • 工作就像一个魅力感谢纠正这个非常基本的误解
    猜你喜欢
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多