[英]Getting a null value in IActionResult when passed with AJAX
我正在嘗試向我的ASP.NET應用程序中的iActionResult方法發出AJAX請求。 該請求正在到達該方法,但在我的方法中傳遞給它時,其值為null。 在控制台中檢查selectedKommun的值時,它始終是一個數字。
$(document).ready(function () {
$('#kommun').change(function () {
var selectedKommun = $("#kommun").val();
var fordonSelect = $('#fordon');
fordonSelect.empty();
if (selectedKommun != null && selectedKommun != '') {
$.ajax({
type: "POST",
url: "/avboka?handler=GetFordon",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",
$('input:hidden[name="__RequestVerificationToken"]').val());
},
data: { "Id": selectedKommun },
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function (data) {
console.log(data);
})
}
});
});
這是我發送我的請求的方法。 我推薦了一些代碼來檢查Id的值。
[HttpPost]
public IActionResult OnPostGetFordon(int Id)
{
//if (!string.IsNullOrWhiteSpace(kommunFordonId) && kommunFordonId.Length == 3)
//{
// IEnumerable<SelectListItem> regions = _fordonRepo.GetFordon(kommunFordonId);
// var json = JsonConvert.SerializeObject(regions);
// return this.Content(json);
//}
//return null;
return new JsonResult(Id);
}
代替
contentType: "application/json; charset=utf-8",
嘗試
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
這是因為您沒有發送JSON內容,而只是發送一個int值。
您也實際上不需要指定數據類型,因為您只發送一個int值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.