15

私はいくつかの todo アプリに取り組んでおり、HTTP メソッド PATCH を使用して todo を追加および削除したいと考えています。これは、PUT よりも意味的に優れているためです。

バックエンドでは Express.js (node.js) を使用し、フロントエンドでは backbone.js (ajax に jQuery を使用) を使用しています。

ローカル開発スイート (Archlinux、Chromium 20、node.js 0.8、express 2.X) のバックエンドとフロントエンドで実際に動作するかどうかを既に試しましたが、動作しました:

app.js

app.patch('/todo/:id', function(req, res){
    console.log('patch successfull');
}

クロム Web コンソール

$.ajax({ 
    url: '/messages/4ff13720f00e2e2c4b000006',
    type: 'PATCH',
    data: { body: 'that is a patched message' } 
});

リクエストが言及され、可能な場合はデータベースアクションも例外なく言及されました。

他のブラウザーがどのようにパッチ メソッドをサポートしているか知りたいです。グーグルで調べたのですが、PATCHには複数の意味があるため、何かを見つけるのは難しいです...

4

2 に答える 2

5

ほとんどのブラウザーは、フォームに適用するときに HTTP メソッドを GET/POST に制限します。ただし、バックエンド サーバーがメソッドをサポートできる限り、AJAX 要求は機能します。

于 2012-11-09T21:03:20.140 に答える
2

最新のブラウザーは PATCH をサポートしています (実際、$ajax を使用すると、ブラウザーがブロックしない限り、好きな方法を実行できます)。IE9以下では運が悪いです。

FF、Chrome、および Safari では、それほど問題ではありません。これらは数年前に自動更新を開始し、2 年以上前に GET および POST 以外のメソッドのブロックを停止したためです。

于 2013-10-25T16:44:48.007 に答える