Jquery Post многомерный массив через $.Аякс



Я пытаюсь разместить вызов ajax, как если бы это был следующий элемент формы:



<input type="text" name="data[BlogPost][title]" />


Но мне не везет вот мой источник:



    $.ajax({
url: "/add/",
type: "POST",
data: ( /* what do I do here */),
success: function(msg){
alert(msg);
}
});


Я пробовал вложенные объекты, но это только генерирует ответ сервера, как:
массив
'data' = > string ' [object Object]' (length=15)



Что никому не приносит пользы!



Какие-нибудь мысли?

642   3  

3 ответов:

Просто поместите имя поля в кавычки, также обратите внимание, что я использую объектный литерал для параметра данных {} против Паренсов, которые были у вас в вашем вопросе:

$.ajax({
    url: "/add/",
    type: "POST",
    data: { 'data[BlogPost][title]':'My New Title'} ,
    success: function(msg){
        alert(msg);
    }
});

Вы пробовали сериализовать () ?

$.ajax({
    url: "/add/",
    type: "POST",
    data: $('#myForm').serialize(),
    success: function(msg){
        alert(msg);
    }
});
Я не уверен на 100%, что это работает на многомерных массивах, но это стоит попробовать.

Мое предположение, [..] квадратные скобки не являются допустимыми символами для имен входных элементов?

Поправьте меня, если я ошибаюсь.

Обновление: Упс, хорошо, значит, я ошибаюсь. Оставлю это здесь в любом случае как "учебную" информацию. Для таких, как я:)

Comments

    Ничего не найдено.