我正在尝试将数据作为模型从 html 表单发送到 Controller 方法。但是,我不确定 jQuery ajax 帖子如何将此类信息发送到控制器。我提交表单时得到的实际错误是:
找不到资源...请求的 URL:/OnCallSchedule
我知道地址是正确的,所以我怀疑传递的数据与传递给控制器方法的模型不匹配:
[HttpPost]
public JsonResult getSchedule(DateModel dateMod)
{
...
return Json(data);
}
ajax代码是:
$(function () {
$('form').submit(function () {
alert('@Url.Action("getSchedule")');
var date = $('form').serialize();
var jqxhr = $.post('@Url.Action("getSchedule")', date, function (data) {
alert("success!");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
jqxhr.complete(function() { alert("second complete"); });
});
});
第一个警报语句,列出方法的路径,成功触发。之后,错误消息弹出,并且没有其他警报出现。
应该注意的是,我几乎使用了所有策略都尝试过这个,所以我怀疑我没有使用 serialize() 命令正确发送数据。我究竟做错了什么?
我也可能没有正确执行 jqxhr 操作。我唯一能找到可理解示例的地方是 jQuery 文档。我最初使用的是类似的东西:
$.ajax({
url: '/OnCallSchedule/getSchedule',
type: 'POST',
dataType: 'json',
data: $('form').serialize(),
contentType: 'application/json; charset=utf-8',
success: function(data) {
$("#dataTable").html(data);
}
});