0

ajaxでパラメータとしてリストを送信したいのですが、関数のパラメータがnullです。私はjsonでこの問題を解決できますが、IE 7はjsonをサポートしていません.これは私のコードです. どうすればこれを解決できますか????

 $(function () {
     $('#DeleteUser').click(function () {
         var list = [];
         $('#userForm input:checked').each(function () {
             list.push(this.id);
         });
         $.ajax({
             url: '@Url.Action("DeleteUser", "UserManagement")',
             data: {
                 userId: list
             },
             type: 'POST',
             success: function (result) {
                 alert("success");
             },
             error: function (result) {
                 alert("error!");
             }
         }); //end ajax
     });
 });
4

3 に答える 3

0

これが失敗する理由はいくつかあるかもしれません

コードから、かみそりを使用しているように見えます。これがカミソリ ビュー (つまり、.cshtmlファイル) にない場合、リンクは正しくありません。

リンクが正しい場合、コントローラーが正しくセットアップされていると仮定して、コードは機能します。FromBodyデータは URL の一部ではないため、userId パラメータに指定する必要があります。

public ActionResult DeleteUser([FromBody] userId){
    //implementation
}

または、リストを URL に追加することもできます

url: '@Url.Action("DeleteUser", "UserManagement")/' + list 

もちろん、最初の引数を userId に送信する global.asax のルートがあります。

于 2013-10-28T20:17:17.043 に答える
0

私は答えを見つけます.このサイトをチェックしてください http://bestiejs.github.io/json3/

于 2013-11-04T13:32:36.347 に答える