无法从 ajax 帖子"调用"控制器操作



我用的是net。我今天第一次尝试从ajax调用调用一个action方法:

我的Ajax调用(来自一个普通的HTML页面)

$("#contactMap").click(function (e) {
e.preventDefault();
var url = "/MapObjects/mapContact";
//I've tried MapObjectsController &         '@Url.Action("mapContact", 'MapObjects")'; But to no avail
$.ajax({
url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
cache: false,
success: function (result) {
alert("success");
}
});
});

在我的控制器中:

namespace myName.Controllers
{

public class MapObjectsController : Controller
{
public IActionResult Index()
{
return View();
}

[HttpPost]
public JsonResult mapContact()
{
Account account = new Account();
return Json(account);
}
}

}

account只是一个普通的模型(在这种情况下显然是空的)。我收到的只是控制台的404错误。

如上所述,这是我第一次使用。net Core(这是我在"正常"MVC项目中多次编写的代码),所以有可能我错过了一些非常明显的东西。

谢谢,C

首先,尝试在Ajax调用中显式调用@Url.Action():

$("#contactMap").click(function (e) { 
e.preventDefault();
$.ajax({
url: '@Url.Action("mapContact", "MapObjects")',
type: 'POST',
contentType: 'application/json; charset=utf-8',
cache: false,
success: function (result) {
alert("success");
}
});
});

第二,检查你的路由规则。

最新更新