在主干js中执行model.save后如何获取响应的确切状态码

Posted

技术标签:

【中文标题】在主干js中执行model.save后如何获取响应的确切状态码【英文标题】:how to get the exact status code of the response after doing model.save in backbone js 【发布时间】:2016-10-10 19:04:28 【问题描述】:

从前端,使用我正在做的主干js:

this.model.save()
        .success(function (data) 
          console.log("The response is " + JSON.stringify(data));
        )
        .error(function (error) 
          console.log("The response is " + JSON.stringify(error));
        )

从服务器端,模拟的响应是

res.status(400).send(message: "Bad request")

因此,我能够打印在 res.send 方法中发送的 2XX 和非 2XX 状态的对象。 但是,我还想打印确切的状态(从服务器发送到 res.status 的状态)。有人可以对此有所了解吗?

【问题讨论】:

【参考方案1】:

Backbone Ajax 请求使用 jQuery (http://backbonejs.org/#Sync),并通过您的 success 处理程序。在jQuery.ajax docs 中的jqXHR.donesuccess 已弃用但具有相同的签名)下,您会看到有 3 个参数。

你要找的是:

.success(function (data, statusText, xhr) 
  console.log("The response status code is " + xhr.status);
)

【讨论】:

感谢@mikeapr4 的回答。但是,我只能选择您的答案作为正确的答案,因为 *** 甚至不允许我为您的答案投票(少于 15 个声誉)。

以上是关于在主干js中执行model.save后如何获取响应的确切状态码的主要内容,如果未能解决你的问题,请参考以下文章

如何向主干视图显示猫鼬错误

使用 REST 代理访问 Ext.data.Model.save() 回调中的 HTTP 响应

如何在backbone.js中安全地发送/接收数据

保存后如何限制返回的属性?

如何通过主干中的 ajax 调用使用模型渲染多个视图

如何从 REST API 获取响应并从 jquery ajax 调用执行操作?