Ajax呼叫不再触及控制器

时间:2018-10-29 09:14:16

标签: c# ajax

我必须遵循以下代码来进行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调用也没有执行。 知道为什么吗?

1 个答案:

答案 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