Невозможно отправить объект ajax post javascript на контроллер asp. net mvc - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь отправить с ajax объект javascript на asp. net контроллер, но я получаю код 500 внутренняя ошибка сервера Вот мой код

***JS CODE***
$.ajax({
            type: 'POST',
            url: '/PackageCtr/AjaxRequest',
            data: JSON.stringify(package),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response)
            {
                if (response != null)
                {
                    console.log(response);
                }
            },
            failure: function (response)
            {
                console.log(response);
            },
            error: function (response)
            {
                console.log(response);
            }
        });

***Controller PackageCtr Code***
[HttpPost]
        public string AjaxRequest(MyPackage package)
        {
            MyPackage package = package;

            return "Success";
        }

Буду признателен за помощь в устранении этой проблемы

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Вот как я публикую модели с ajax.

<script>
function PostForm() {
        var model = $('#your_package_form_id').serialize();
        $.ajax({
            url: '/PackageCtr/AjaxRequest',
            type: 'POST',
            data: model,
            success: function (data) {


            },
            error: function (request, error) {
                console.log("Request: " + JSON.stringify(request));
            }
        });
    }
</script>

и в вашем контроллере.

[HttpPost]
        public string AjaxRequest(MyPackage model)
        {

             return "Success";

        }

Надеюсь, это поможет!

Примечание: это может быть дубликатом Как преобразовать форму коллекции в модули модели ASP. NET MVC

0 голосов
/ 28 января 2020

Я думаю, что проблема в связывании между классом MyPackage C# и переменной JSON package. Вы можете изолировать проблему, отправляя пустое значение или изменив свой метод, чтобы получить простую строку, просто чтобы проверить, получит ли ваш контроллер ваш запрос.

Если это не работает, вы можете протестировать другие части вашего кода, как URL ...

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