Возврат представления в ASP.Net Core через JQuery AJAX - не работает в производстве - PullRequest
0 голосов
/ 15 декабря 2018

Я возвращаю представление из контроллера и использую jquery для отображения результата.Он отлично работает в отладке, но когда я публикую его на сервере, когда возвращается результат ajax (и это правильно), он удаляет все элементы.Это сводит меня с ума!Я думал, что это может быть проблема тайм-аута, но, очевидно, не так, как я пытался до 200 миллисекунд.

JS:

    function openRestaurantList() {
        $.ajax({
            url: "/restaurants",
            success: function (result) {
                document.title = "Restaurants";
                $("body").html(result);
            }
        });
    }

Контроллер:

    [Route("restaurants")]
    public IActionResult Restaurants()
    {
        ViewBag.Data = Place.FetchFullListByType(Place.Types.Restaurant);
        return View("RestaurantList");
    }

Before Ajax call

After Ajax

1 Ответ

0 голосов
/ 15 декабря 2018

Проблема в том, что используемый вами URL-адрес относится к пути, по которому вы находитесь.

Замените «/ restaurant» на «@ Url.Action (« restaurant »,« controllerName »)», которыйдаст вам абсолютный URL к действию.

Вы также можете просмотреть страницу (F12 в Chrome) и посмотреть на вкладку сети, вы увидите ошибку 404 о действии ресторанов.Там вы можете получить информацию о том, какой URL вы используете при вызове jquery.

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