Ajax-вызов больше не попадает в контроллер - PullRequest
0 голосов
/ 29 октября 2018

Мне нужен следующий код, который делает вызов 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 голосов
/ 29 октября 2018

Все действия контроллера по умолчанию 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...