0

追加のデータを渡しながら、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 > Express を使用しています) では、渡されたパラメーター (例 1) をrequest.queryでプルしますが、渡されたデータ (例 2) を でプルしrequest.bodyます。

私の質問:

getURL にパラメーターをスローするのがベスト プラクティスですか? サーバー側request.paramですべての GET を単純に検索する必要がありますか、またはModel.fetch()「params」の代わりに「data」を渡す方法はありますか?

4

1 に答える 1

1

GET メソッド

GET 操作は、HTML で定義されているように、クエリ文字列 (またはパラメーター) を URL に入れ、これがサーバーに送信されます。これは、GET を使用してデータのみを取得する必要があるためです。URL に完全なパラメータがあるため、このデータはキャッシュできます。この URL はブックマークでき、ブラウザの履歴に残すことができます。

POST メソッド

POST 操作は、データをサーバーに送信することを目的としています。この種の操作ではキャッシュは行われません。これはブラウザの履歴には保存されません。送信する内容を公開したくないため、コンテンツは本文に入ります。

これを言うと、メソッドの動作は理にかなっています。この両方のメソッドをアプリケーションで適切に使用し、サーバー側でそれらを個別に処理する必要があります。

于 2013-09-25T01:21:23.230 に答える