带输入参数的MVC jquery ajax调用
在带有参数的控制器上调用操作时,我遇到了问题
在控制器中,我有以下行动:
[HttpPost] public ActionResult UpdateData(string month) { return Json(new { success = true, message = "Hello world" }); }
视图中的ajax调用如下所示:
$.ajax({ url: '@Url.Action("UpdateData")', dataType: "json", type: "POST", contentType: 'application/json; charset=utf-8', cache: false, data: { }, success: function (data) { if (data.success) { alert(data.message); } }, error: function (xhr) { alert(xhr.responseText); } });
这很好用,但是当我想传递这样的论点时
data: {month:'may'}
我收到一个错误,从未调用该操作。 我只是没有看到它。
编辑:
好吧,我只需要将json作为字符串传递:
data: "{month:'may'}"
我想我需要更多的睡眠:-)
您必须删除内容类型 ,如果您在URL中传递控制器名称,也必须更好 :
$.ajax({ url: '@Url.Action("UpdateData","YourControllerName")', dataType: "json", type: "POST", cache: false, data: {month:'may'} , success: function (data) { if (data.success) { alert(data.message); } }, error: function (xhr) { alert(xhr.responseText); } });