gpt4 book ai didi

backbone.js - 使用 Backbone 管理服务器错误响应

转载 作者:行者123 更新时间:2023-12-03 12:50:20 30 4
gpt4 key购买 nike

我想知道在新的,更新的或删除的模型上管理服务器错误响应的最佳方法。这时服务器返回http状态代码#400。但是Backbone中的默认错误处理程序未显示错误。

如何显示这些错误?

服务器端验证失败时,服务器是否可以返回http错误 header ? (也许最好返回带有status ='ERROR'消息的成功响应)

最佳答案

如果您返回的HTTP状态不是2XX,则说明您已经完成了一半工作。 :-)基本上,您可以做的是将您想要返回的任何内容发回作为响应。

例如,您可能只发送回如下内容:

// Send back http status 500
echo 'Could not save, server error';

500状态将触发Backbone错误回调,并且您的响应是jqXHR对象。在上面的示例中,您可以通过在错误回调中执行类似的操作来获取消息。
model.save({},{
error: function(model, response) {
console.log(response.responseText);
}
});

这是获取有关服务器端发生的错误的一些数据/消息的最简单方法。当然,您可以创建要从服务器返回的更复杂的数据:
// I'm using SLIM RESTful framework...
$dataOut = array('error'=>'Validation type', 'message'=>'Did not validate');
$response->body(json_encode($dataOut));

您可以用相同的方式访问该响应,如下所示:
model.save({},{
error: function(model, response) {
var responseObj = $.parseJSON(response.responseText);
console.log('Type: ' + responseObj.error + ' Message: ' + responseObj.message);
}
});

或类似的规定。

由于传递到错误回调中的响应是jqXHR对象,因此您可以完全使用其可能要使用的所有属性:
E.g.
response.readyState
response.status
response.statusText // etc.

Backbone 只需要从服务器返回的http状态即可执行其操作。

关于backbone.js - 使用 Backbone 管理服务器错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148333/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com