10

AJAX にメソッド 'PUT' があるのはなぜですか? また、最もよく使用されるのはどこですか?

例:

$.ajax({
    url: 'script.php',
    type: 'PUT',
    success: function(response) {
        //...
    }
});

代わりに、作者は単純に GET/POST を使用しなかったのはなぜですか?

4

1 に答える 1

20

RESTful APIの場合、POST には特定の意味 (リソースの作成) があり、PUT には別の意味 (既存のリソースの更新) があります。

  • GET はリストまたはアイテムを取得します
  • PUT はコレクションまたはアイテムを置き換えます
  • POST はコレクションに新しいアイテムを作成します
  • DELETE はコレクションまたはアイテムを削除します

ただし、本当に「script.php」があるとすれば、それを開発した人は、API を作成するときにあまり徹底していませんでした。「script.php」はほとんど RESTful ではありません...通常、適切な RESTful API の URL 構造は、たとえば次のようになります。

  • http://example.com/questionsコレクションになります(GET でリスト、PUT ですべてのアイテムを置換、POST で新しいアイテムを作成、DELETE ですべてのアイテムを削除)
  • http://example.com/questions/123アイテムになります(取得するには GET、置換するには PUT、通常は使用されない POST、そのアイテムを削除するには DELETE)
于 2013-09-15T11:29:31.357 に答える