我必须遵循以下代码来进行ajax调用:
function openMapTab(lat, lng) {
$.ajax({
url: "/Controller/DisplayMap?qid=" + $('body').data('usid'),
data: {
latitude: lat,
longitude: lng
},
dataType: "text",
type: "POST",
success: function (data, textStatus, jqXHR) {
var w = window.open();
$(w.document.head).html("<title>Arcania-Maps</title>");
$(w.document.body).html(data);
},
});
}
我的控制器如下:
public ActionResult DisplayMap(double latitude, double longitude)
{
ViewBag.Latitude = latitude;
ViewBag.Longitude = longitude;
return View();
}
但是由于某种原因,即使是较早的情况,我的ajax调用也没有执行。 知道为什么吗?
答案 0 :(得分:0)
默认情况下,所有控制器操作均为GET
。因此,如果您要处理POST
个请求,则需要添加[HttpPost]
个属性。
[HttpPost("[action]")]
public ActionResult DisplayMap(double latitude, double longitude)
{
...
}
https://docs.microsoft.com/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.1