我有以下代码:
<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为null,contractorId包含适当的数据。 但是当从控制器的动作中删除contractorId参数并在ajax调用中传递参数时如下:
data: contactPerson
它有效。我想知道为什么?有人可以帮助我吗?
答案 0 :(得分:1)
按照以下方式发布您的数据
data: $("#addNewContactPersonForm").serialize() + '&contractorId='+ contractorId
将数据类型添加到Ajax调用
dataType: "json"