Отправка Строковых Данных к Контроллеру MVC с помощью $ jQuery .ajax () и $ .post ()

Строки в JavaScript неизменны

15
задан tereško 14 June 2012 в 00:46
поделиться

3 ответа

Ответил. После моего первого обновления имена переменных не были установлены правильно. Я изменил имя переменной в Контроллере на jsonData, поэтому мой новый заголовок Контроллера выглядит так:

public void SaveEntry(string jsonData)

, а мое действие публикации в JS выглядит так:

$.post("/Journal/SaveEntry", { jsonData: JSONstring });

JSONstring - это «строковый» (или «сериализованный») объект JSON, который я сериализован с помощью плагина JSON , предлагаемого на json.org. Итак:

JSONstring = JSON.stringify(journalEntry);  // journalEntry is my JSON object

Итак, имена переменных в $ .post и в методе контроллера должны быть одинаковыми, иначе ничего не будет работать. Хорошо знать. Спасибо за ответы.

23
ответ дан 1 December 2019 в 01:53
поделиться

Окончательный ответ:

Похоже, что имена переменных не совпадали в его сообщении, как я предлагал в комментарии после разбора проблем с форматированием данных (при условии, что это также было проблемой.

На самом деле, убедитесь, что вы используете правильное ключевое имя, которое ваш сервер код ищет, а также Пример Олека - т.е. если твой код ищите переменные данные, тогда вы нужно использовать данные в качестве ключа. - prodigitalson 6 часов назад

@prodigitalson, это сработало. В имена переменных не совпадали. Будет вы отправляете второй ответ, чтобы я мог принять это? Спасибо. - Мега Мэтт 6 часов назад

Итак, ему нужно было использовать пару ключ / значение и убедиться, что он берет правильную переменную из запроса на стороне сервера.


аргумент данных должен быть парой ключ-значение

$.post("/Journal/SaveEntry", {"JSONString": JSONstring});
6
ответ дан 1 December 2019 в 01:53
поделиться

Похоже, что тип данных отсутствует. Вы также можете установить contentType на всякий случай. Не могли бы вы попробовать эту версию?

$.ajax({
    url: '/Journal/SaveEntry',
    type: 'POST',
    data: JSONstring,
    dataType: 'json',
    contentType: 'application/json; charset=utf-8'
});

Ура.

2
ответ дан 1 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: