2017-12-15 25 views
-1

私は整数値のデータを持つHTMLリストを持っています。これらの整数をコントローラにポストしたいと思います。それにもかかわらず、jqueryコードは実際には何もしません。エラーメッセージも表示されません。 jqueryを呼び出すボタンはモーダルボックスにあります。ここでは、コードは次のとおりです。コントローラにデータをポストしていないAjaxコール

<script type="text/javascript"> 
$(function() { 
    $("#additem-dialog").dialog({ 
     modal: true, 
     autoOpen: false, 
     buttons: { 
      "Add": function() { 
       var proList = document.getElementsByClassName("proItem").value; 
       $.ajax({ 
        type: "POST", 
        url: '@Url.Action("SetTempList","Admin")', 
        data: JSON.stringify(proList), 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function() { 
         alert('success!'); 
        }, 
        failure: function (response) { 
         alert(response); 
        } 
       }); 
       $("#search-form").submit(); 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
    $("#opener").on("click", function() { 
     $("#additem-dialog").dialog("open"); 
    }); 
}); 

、ここでは、コントローラのアクションです:

[HttpPost] 
    public void SetTempList(List<int> proList) 
    { 
     TempData["detailList"] = proList.ToList(); 
    } 

私が間違っているかわからない、私はそれはまだdoesnの、AJAX呼び出しをテストするために、データの他の種類を試してみました仕事はありません。

+1

「何もしない」を定義します。 JavaScriptコードはまったく実行されますか?あなたのブラウザでそれをデバッグするとき、それは何をしますか?ブラウザのデバッグコンソールにエラーはありますか? AJAXの呼び出しは行われていますか?それはあなたが期待するデータを含んでいますか?そのデータは何ですか?サーバーの応答は何ですか? 「何もしない」というのは実際にはあまり情報を提供しません。最初にこのコードを呼び出すものが何もない場合、問題は明らかにこのコード外です。 – David

+0

私はこのajax呼び出しがヌル値を返すことを知っている唯一のものです... –

+0

まあ、サーバー側メソッドの戻り値の型は 'void'です。だから私はそれが価値を返すとは期待していないだろう。 'void'は、文字通り「このメソッドは何も返さない」という意味です。あなたは*起こることを期待していますか?*何が起こるのですか? – David

答えて

-1

私が見る限り、あなたがPOSTしようとしているURLは単なる文字列か、使用しているフレームワークに置き換えられていますか?

POSTが正しいURLに送信されているかどうかを確認するには、デベロッパーコンソール(ほとんどのブラウザでF12)を有効にし、[追加]を押した後に[ネットワーキング]タブを確認します。

+0

よく私はproListが読み込めないという問題を見つけました。とにかく感謝します。D –

関連する問題