我有以下代碼:型號不傳遞給控制器的動作
<script type="text/javascript">
$('#btnConfirmAddition').click(function() {
var contractorId = $("#contractorId").val();
var contactPerson = $("#addNewContactPersonForm").serialize();
$.ajax({
url: '@Url.Action("AddContactPerson", "Contractors")',
type: "GET",
data: { newContactPerson: contactPerson, contractorId: contractorId },
//data: contactPerson,
success: function (data) {
$("#myModal").modal('hide');
toastr.success("Success");
location.reload();
},
error: function (data) {
$("#errorArea").html(showError(data.ErrorMessage));
toastr.error(data.errorMessage);
}
});
return false;
});
</script>
public JsonResult AddContactPerson(ContactPerson newContactPerson, string contractorId)
{
//Some code
}
當我在Ajax調用如上傳遞參數,我newContactPerson是零和contractorId包含相應的數據。 然而,當從控制器的作用去除contractorId參數,並在Ajax調用傳遞參數如下:
data: contactPerson
它的工作原理。我想知道爲什麼?有人可以幫幫我嗎?
看起來這應該是一個'PUT'或'POST' - 一個'GET'爲AddContactPerson似乎是錯誤的。 – tymeJV 2015-01-09 21:57:13
嘗試'var contactPerson = $(「#addNewContactPersonForm」)。serializeArray();' – Musa 2015-01-09 21:58:17
我的contactPerson變量很好,它包含正確的數據。我也將它更改爲serializeArray,但現在,對象不爲空,但它的所有字段都爲空(實際上它們不是空的,但由我填充) – 2015-01-09 22:00:44