Внутренняя ошибка сервера (500) при передаче запроса AJAX на контроллер - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь передать данные из моего представления в контроллер через запрос ajax. Запрос выглядит так:

        $("body").on("click", "#AddProduct", function () {
            var id = $("#ProductDrop").val();
            var lookups = @Html.Raw(Json.Encode(Model.Point.Properties["Lookups"]));
            var body = $("tablePoints tbody")
            var data = JSON.stringify({ "productId": id, "lookupData": lookups });
            $.ajax({
                contentType: 'application/jsonrequest; charset=utf-8',
                dataType: 'json',
                type: 'POST',
                cache: false,
                url: '/Edit/GetProductData',
                data: data,
                success: function (html) { body.append(html) },
                failure: function () {
                    alert("failure");
                    }
            })
        });

Контроллер выглядит следующим образом:

public ViewResult AddRow(string productId, LookupTable lookupData)
{ 
    return View("TableRow",EditPointMethods.AddEmptyProperties(productId,lookupData));
}

Когда я пытаюсь передать данные, я получаю внутреннюю ошибку сервера. Однако, когда я не передаю данные, это работает. Что-то не так с тем, как я форматирую свои данные? Я проверил, и данные не являются нулевыми и содержат все значения, которые я ожидаю по запросу.

1 Ответ

0 голосов
/ 11 октября 2019

Из фрагментов кода, вставленных в вопрос, я думаю, что вы не вызываете правильное действие контроллера MVC.

url: '/ Edit / GetProductData'

Но действие Controller заключается в следующем (при условии, что имя контроллера - EditController):

public ViewResult AddRow (string productId, LookupTable lookupData)

Попробуйте изменить URL-адрес из '/ Edit / GetProductData'to' / Изменить / AddRow '

Также, пожалуйста, опубликуйте ошибку, если это возможно.

...