[英]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呼叫post
或put
,则发布的多余数据不会在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.