2017-08-10 11 views
0
[HttpDelete] 
    public ActionResult DeleteCustomer(int id) 
    { 
     var cus = customerContext.Customers.Find(); 
     customerContext.Customers.Remove(cus); 
     customerContext.SaveChanges(); 
     return null; 
    } 

上記のコードはdelete clickイベントのコントローラコードです。以下は私のjsファイルです。削除アクションを行うには、ajaxを呼び出します。しかし、私が削除ボタンをクリックすると、それは常に "見つからない"ダイアログをポップアップします。フロントエンドやバックエンドで何が起こったのか分かりません。とても悲しい。助けが必要です。ありがとうございました。Q:KnockoutJSを使用したMVCコントローラのHttpDelete

self.deleteCustomer = function() { 
    $.ajax({ 
     type: "DELETE", 
     url: "../Customer/DeleteCustomer/", 
     data: { id: self.cusId() }, 
     success: function (result) { 
      alert("Deleted!"); 
      GetCustomers(); 
      $('#AddCustomer').modal('hide'); 
     }, 
     error: function (error) { 
      alert(error.statusText); 
     } 
    }); 
} 

答えて

0

あなたが投稿した内容は、urlプロパティではなく「url」の代わりにパスを使用しているようです。 url: "../Customer/DeleteCustomer/",の代わりにurl: "/Customer/DeleteCustomer",を使用してください。それでもまだクローム開発ツールを開いていないとネットワークを盗聴して、どこにURLをリクエストしているのか確認してください。

ローテーションが正しい(バックエンドで)かどうかを確認するには、Postman(chrome plugin)をインストールしてDELETE要求を送信し、コントローラが要求を受信したかどうかを確認します。

よろしくお願いいたします。

+0

URLは重要ではないと思います。私は試したので。それでも、Not Foundダイアログが表示されます。しかし、まだ、ありがとう。 – Auck

+0

リクエストが正しいhttpメソッドで正しいURLに送信されているかどうかを確認しましたか(デベロッパーツール、WindowsのF12 - ChromeとIE)。郵便配達員によるDELETEリクエストの送信はどうですか? – dime2lo

+0

こんにちは、dime2lo。私はコンソールをチェックした。エラーメッセージは "jquery-1.10.2.js:8720 DELETE http:// localhost:49360/Customer/DeleteCustomer/404(Not Found)jquery-1.10.2.js:8720" – Auck

関連する問題