JSON, форматирующий (Отправляющий JSON через Ajax jQuery отправляют на сервер Java/калитки),

Я использую jQuery для регистрации JSON на сервер Java, но я думаю, что мой JSON должен быть неправильным. Вот пример моих данных и как я отправляю его:

var lookup = {
    'name': name,
    'description': description,
    'items': [{
        'name': itemName,
        'value': itemValue
    }]
}

$.ajax({
    type: 'post',
    data: lookup,
    dataType: 'json'
});

Я использую AbstractAjaxBehavior Калитки для получения данных и хотел бы получить единственную строку JSON, которую я могу проанализировать. Когда я добираюсь, Карта параметров передала, набор ключей похож на это:

items[0][name],
description,
name,
items[0][value],

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

15
задан Jared 12 July 2010 в 17:49
поделиться

1 ответ

Вы должны использовать JSON.stringify:

$.ajax({
    type: 'post',
    data: JSON.stringify(lookup),
    contentType: 'application/json',
    dataType: 'json'
});

Вы также должны указать application / json в качестве contentType. По умолчанию jQuery будет сериализовать объекты с application / x-www-form-urlencoded (даже если contentType - application / json '). Так что придется делать это вручную.

РЕДАКТИРОВАТЬ: Ключ для «сообщения» должен быть типом, а не методом.

46
ответ дан 1 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

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