私は整数値のデータを持つ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呼び出しをテストするために、データの他の種類を試してみました仕事はありません。
「何もしない」を定義します。 JavaScriptコードはまったく実行されますか?あなたのブラウザでそれをデバッグするとき、それは何をしますか?ブラウザのデバッグコンソールにエラーはありますか? AJAXの呼び出しは行われていますか?それはあなたが期待するデータを含んでいますか?そのデータは何ですか?サーバーの応答は何ですか? 「何もしない」というのは実際にはあまり情報を提供しません。最初にこのコードを呼び出すものが何もない場合、問題は明らかにこのコード外です。 – David
私はこのajax呼び出しがヌル値を返すことを知っている唯一のものです... –
まあ、サーバー側メソッドの戻り値の型は 'void'です。だから私はそれが価値を返すとは期待していないだろう。 'void'は、文字通り「このメソッドは何も返さない」という意味です。あなたは*起こることを期待していますか?*何が起こるのですか? – David