我有一个看起来像这样的jQuery方法:
$(document).on("keyup", ".txtTag", function (event) {
var bomItemID = $(this).data('bomitemid');
var tag = $(this).val();
$.post("/BillOfMaterial/SetTag?BomItemID=" + bomItemID + "&Tag=" + tag, function (result) {
// don't do anything
});
});
在浏览器的控制台中,我收到以下错误消息:
无法加载资源:服务器响应状态为404(未找到) http://localhost:61560/BillOfMaterial/SetTag?BomItemID=3671&Tag=xz
但是,当我点击该链接时,它可以正常工作。我甚至可以在服务器上的方法SetTag()中找到一个断点。
这是服务器端方法:
[HttpGet]
public ActionResult SetTag(int BomItemID, string Tag)
{
... do stuff
return Json("SUCCESS", JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:7)
您必须使用[HttpPost]
请求方法,因为您提出post
请求。
[HttpPost]
public ActionResult SetTag(int BomItemID, string Tag)
{
... do stuff
return Json("SUCCESS");
}
另一个解决方案是使用$.get
ajax调用来保持server-side
方法声明。