繁体   English   中英

Backbone.js获取而不将数据作为URL字符串传递

[英]Backbone.js Fetch without passing data as URL string

假设我要在传递其他数据的同时获取Backbone.js模型的数据:

myModel.fetch{ data: { bar: true } };

如果您在Firebug中查看请求,Backbone会将以下数据附加到URL:

GET http://www.example.net/foo?bar=true

此数据显示在Firebug的“参数”标签下。

但是,如果我使用Backbone呼叫postput ,则发布的多余数据不会在URL中发送,而是显示在Firebug的“ PUT”标签下。

PUT http://www.example.net/foo //additional data is not included in URL

在我的服务器端(我用的Node.js>快递),我拉过PARAMS(例如1) request.query ,但我拉传递的数据(例如2) request.body

我的问题:

最好的做法是在URL中添加get参数吗? 我应该让服务器端只是为所有GET寻找request.param ,还是有办法让Model.fetch()传递“数据”而不是“参数”?

GET方法

HTML中定义的GET操作将查询字符串(或参数)放在URL中,然后将其发送到服务器。 这样做是因为GET仅应用于检索数据。 由于您在URL中具有完整参数,因此可以缓存此数据,可以将该URL标记为书签并保留在浏览器历史记录中。

开机自检方法

POST操作旨在将数据提交到服务器。 在这种操作中不会执行任何缓存。 这不会存储在浏览器历史记录中。 由于您不想暴露正在发送的内容,因此内容就在体内。

这样,方法的行为就很有意义了,您应该在应用程序中正确使用这两种方法,并在服务器端分别进行维护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM