[英]HttpPost in MVC Controller not being called through Ajax POST
我有一个 controller(信息技术控制器)。 controller 包含一个动作(LocationChangeRequest)。 该操作采用可选参数(id)。
public ActionResult LocationChangeRequest(ChangeRequestType id = ChangeRequestType.WithinDepartment)
该操作返回包含当前 model 数据的视图。
return View(locationChangeRequest);
在该视图中,有一个 function 执行 ajax 帖子(代码如下)来搜索员工信息。
员工搜索1
到达该视图的 url 是:
http:// [not relavant here] /InformationTechnology/LocationChangeRequest
当用户尝试使用路由参数访问该视图时,员工搜索 function 不会执行。
url到达视图的路由参数为:
http:// [not relavant here] /InformationTechnology/LocationChangeRequest/1
我发现的是在路径中使用 /1 参数时没有命中 InformationTechnology controller 中的 HttpPost 方法。 虽然它似乎与路径中的参数有关,但我似乎无法弄清楚如何解决这个问题。
任何有关如何使用参数通过 url 处理 HttpPost 的建议将不胜感激。
HttpPost 代码如下:
[HttpPost]
public JsonResult SearchUser(string term)
{
...
return Json(results, JsonRequestBehavior.AllowGet);
}
javascript代码如下:
$.ajax({ url: searchUserUrl, type: "POST", dataType: "json", data: { term: request.term }, success: function (data) { response($.map(data, function (item) { return { label: item.Name, value: item.HexKey }; })); }, error: function (xhr, error) { console.debug(xhr); console.debug(error);} })
您需要为使用 $ 定义一个全局变量,如下所示。
var $=jQuery.noConflict();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.