Ajax Вызов не попадает в контроллер при загрузке страницы - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть вызов ajax, который, кажется, работает нормально на другой странице, однако, когда я звоню на этой странице, он не работает.

CS HTML page

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/Script/jquery-1.12.2.min.js"></script>
    <script src="~/Script/moment.js"></script>
    <script type="text/javascript">
        function qs(key) {
            key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
            var match = location.search.match(new RegExp("[?&]" + key + "=([^&]+)(&|$)"));
            return match && decodeURIComponent(match[1].replace(/\+/g, " "));
        }
        function initialiseForms() {
                $.ajax({
                    type: 'POST',
                    url:'@Url.Action("Index", "Home")',
                    contentType: 'application/json; charset=utf-8',
                    error: function (response) { alert(JSON.stringify(response)); }
                }).success(function (response) {
                    alert(JSON.stringify(response));
                });
        }
    </script>
</head>
<body onload="initialiseForms()">
    <h1 id="titleText"></h1>
    <form id="evolveFormsForm" method="post" target="_self" action="Test">
        <input type="hidden" id="formPackEventData" name="formPackEventData" value="" />
        <input type="hidden" id="selectedTemplateCodes" name="selectedTemplateCodes" value="" />
        <input type="hidden" name="logonMethod" value="automatic" />
    </form>
</body>
</html>

Контроллер

public ActionResult Index()
{
    return Json(new { success = true, rtn = "TEST" }, JsonRequestBehavior.AllowGet);
}

Этот alert(JSON.stringify(response)); работает в ответе, но точка останова не нажата, а предупреждение просто отображает пустую строку.

Приветствия

1 Ответ

0 голосов
/ 26 февраля 2020

Разве ваш ajax не должен быть таким?

            $.ajax({
                type: 'POST',
                url:'@Url.Action("Index", "Home")',
                contentType: 'application/json; charset=utf-8',
                error: function (response) 
                { 
                    alert(JSON.stringify(response)); 
                },
                success(function (response) 
                {
                    alert(JSON.stringify(response));
                }
            })

вместо

            $.ajax({
                type: 'POST',
                url:'@Url.Action("Index", "Home")',
                contentType: 'application/json; charset=utf-8',
                error: function (response) { alert(JSON.stringify(response)); }
            }).success(function (response) {
                alert(JSON.stringify(response));
            });

Я чувствую, что у вас есть success вне фактического ajax а также наличие дополнительной )

РЕДАКТИРОВАТЬ: простой способ помочь нам, если вы добавите debugger; в саму функцию и сообщите нам, если она выдает ошибку в Google DevTools

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