jQueryからASP.Net MVCコントローラに渡すコードがあり、正常に動作します。私は今、新しい状況で同じ機能を再現しようとしています。コントローラーコードにブレークポイントを設定すると、パラメーターはnull
と表示されます。このデータがjQuery AJAXポストからASP.Net MVCに渡されないのはなぜですか?
誰でも以下のコードで何かが間違っているのを見ることができますか?火かき棒で私はcalendarIds
が完全に人口の配列ですが、それがサーバー側でnullとして表示されることがわかります。ここで
は私のjQueryのコードです:今
$.ajax({
url: '/EventCalendar/UpdateVisibleCalendars/',
type: 'POST',
traditional: true,
data: { calendarIds: calendarIds },
dataType: 'html',
success: function (data) {
}
});
:ここ
var calendarIds = [];
$('#box2View option').each(function() {
calendarIds.push($(this).val());
});
$.post(
'/EventCalendar/UpdateVisibleCalendars/',
{ calendarIds: calendarIds },
function (data) {
//do some callback stuff here (not relevant for question)
},
"html"
);
あなたがtrueにtraditional
フラグを設定することができます私のコントローラのコード
public ActionResult UpdateVisibleCalendars(int[] calendarIds)
{
// right here i check calendarIds and its always NULL :(
return null;
}
おそらく 'calendarIds = 1,2,3,4,5'を' calendarIds = 1&calendarIds = 2&calendarIds = 3 ... 'と期待しているところに投稿しますので –