Backbone.js 主干-处理来自服务器的空响应
我使用fetch从服务器检索模型。当我的数据库中有数据时,它工作得很好,但是如何处理服务器发送给客户机的空响应呢 例如,如果用户尚未保存任何数据,服务器将发送一个带有空数组的http 200响应,主干将触发一个错误回调,但我只想通知用户数据库中没有保存任何数据。在这种情况下,空响应只是意味着没有要加载的模型,我不想用响应创建任何模型 以下是我使用的代码:Backbone.js 主干-处理来自服务器的空响应,backbone.js,Backbone.js,我使用fetch从服务器检索模型。当我的数据库中有数据时,它工作得很好,但是如何处理服务器发送给客户机的空响应呢 例如,如果用户尚未保存任何数据,服务器将发送一个带有空数组的http 200响应,主干将触发一个错误回调,但我只想通知用户数据库中没有保存任何数据。在这种情况下,空响应只是意味着没有要加载的模型,我不想用响应创建任何模型 以下是我使用的代码: 服务器如何指示它是正常的,但只是没有数据?如果服务器以200作为响应,则不应触发错误回调。真奇怪。 您能添加服务器响应的示例吗 此外,成功和
服务器如何指示它是正常的,但只是没有数据?如果服务器以200作为响应,则不应触发错误回调。真奇怪。 您能添加服务器响应的示例吗
此外,成功和错误回调将以下选项作为参数:(collection、response、options)如果服务器使用200进行响应,则不应触发错误回调。真奇怪。 您能添加服务器响应的示例吗
此外,成功和错误回调将以下选项作为参数:(收集、响应、选项)如果您负责后端,并且可以更改响应行为,则应该将http状态204用于空内容响应,而不是200
这应该会有所帮助如果您负责后端,并且可以更改响应行为,那么您应该将http状态204用于空内容响应,而不是200
这应该会有帮助您现在的反应是什么?发送空对象无效?好的,问题解决了!服务器必须返回某些内容才能触发成功事件。如果DB中没有记录,我将返回字符串“[]”,而不是“nothing”,它将正常工作。现在我只需检查collection.length,就可以知道服务器是否返回了一些内容。谢谢Dmitry和Joqus让我上路了!随时都可以。既然你的问题已经解决了,那么最好结束这个问题。你现在的回答是什么?发送空对象无效?好的,问题解决了!服务器必须返回某些内容才能触发成功事件。如果DB中没有记录,我将返回字符串“[]”,而不是“nothing”,它将正常工作。现在我只需检查collection.length,就可以知道服务器是否返回了一些内容。谢谢Dmitry和Joqus让我上路了!随时都可以。由于您的问题已经解决,所以最好结束这个问题。它返回错误,因为主干需要json响应。它返回错误,因为主干需要json响应
app.plans.fetch({
success: function(data) {
app.Notifications.updateMessages({text: "Plans loaded."});
},
error: function (){
app.Notifications.updateMessages({text: "Error."});
}
});