繁体   English   中英

MVC Controller 中的 HttpPost 未通过 Ajax POST 调用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM