10

node.jsアプリケーションにDELETEリクエストを送信する前に、構成を設定する必要がありますか?

GETPOSTまたはPUTリクエストを行うことはできますが、DELETEリクエストは機能しません。

DELETE http://localhost:8081/api/1.0/entryルーティングロガーからの収量undefined、私はルートを登録するためにエクスプレスを使用しています。しかし、URL/動詞を解決することすらできないようです。

これは私がそれを呼び出す方法です:

rows.find('a.remove').on('click', function(){
    $.ajax({
        url: '/api/1.0/entry',
        type: 'DELETE'
    }).done(function(res){
        var row = $(this).parentsUntil('tbody');
        row.slideUp();
    });
});

サンプルログ

GET / 200 18ms  
GET /author/entry 200 10ms  
GET /api/1.0/entry 200 2ms  
GET /api/1.0/entry 200 1ms  
GET /api/1.0/entry 200 1ms  
undefined
4

2 に答える 2

10

うまくいけば、これが役立つでしょう:

  • 最初のミドルウェアとしてロギングを有効にして、リクエストが確実に届くようにします。

    app.use(express.logger());

  • methodOverride()ミドルウェアを使用します。

    app.use(express.bodyParser());

    app.use(express.methodOverride()); // looks for DELETE verbs in hidden fields

  • .del()ルートを作成します。

    app.del('/api/1.0/entry', function(req, res, next) { ... });

于 2013-01-05T17:06:42.107 に答える
1

タイプ設定のPUTおよびDELETE値は、すべてのブラウザーでサポートされているわけではありません。

ドキュメントhttp://api.jquery.com/jQuery.ajax/を参照してください

ajaxリクエストでdata:{_ method:'delete'}を含むPOSTタイプを使用できます:

$.ajax({
    data:{_method:'delete'},
    url: '/api/1.0/entry',
    type: 'POST'
}).done(function(res){
    var row = $(this).parentsUntil('tbody');
    row.slideUp();
});
于 2013-09-10T21:59:15.207 に答える