AJAX HTTP сообщение дает ошибку 500 при отправке JSON

0

Я пытаюсь отправить данные json как текст с помощью метода HTTP POST в ajax для контроллера в моем проекте MVC4. Это мой код ajax:

function saveService() {
        var data0 = $("#nameInput").val();
        var data1 = generateJSON();
        var data2 = $("#wellContainer").html();
        var jsondataobject = { name: data0, counter: counter, json: data1, html: data2 };
        var stringobject = JSON.stringify(jsondataobject);
        console.log(stringobject);

        console.log(data1);
            $.ajax({
                type: 'POST',
                dataType: 'text',
                url: "http://localhost:49162/Admin/SaveNewTemplate",
                data: "jsonData=" + stringobject,
                success: function (returnPayload) {
                    console && console.log("request succeeded");
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    console && console.log("request failed");
                },

                processData: false,
                async: false
            });
    }

Это мой метод управления

[HttpPost]
public void SaveNewTemplate(String jsonData)
{
    DataAccessLayer DAL = new DataAccessLayer();
    DAL.SaveServiceTemplate(jsonData);
}

Это моя ошибка в консоли:

POST http://localhost:49162/Admin/SaveNewTemplate 500 (Internal Server Error) 

Мой строковый объект - это правильный объект json, преобразованный в строку. Если я заменил эту переменную в ajax-функции некоторым случайным текстом, она будет работать.

Почему я получаю ошибку 500?

  • 0
    Я получаю такую же ошибку. Вы нашли какое-нибудь решение для этого?
Теги:
asp.net-mvc
http-post

1 ответ

0

Кажется, проблема связана с отправкой jsondataobject. Все объекты должны быть заключены в кавычки: {"name": data0, "counter": counter, "json": data1, "html": data2}

Также: данные: "jsonData =" + stringobject, должны быть: data: stringobject,

(предполагая, что переменный счетчик заполняется правильно, так как он не упоминается в фрагменте кода)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню