Отправка объекта Javascript в PHP - PullRequest
0 голосов
/ 17 февраля 2009

Вопрос новичка от меня, пожалуйста.

У меня большой набор данных, который я предпочитаю, чтобы был представлен как объект вместо массива; например,

foo = bar = baz = {};
$.ajax({
    url: "index",
    type: "post",
    data: { foo: foo, bar: bar, baz: baz },
    dataType: "json"
});

После отправки Firebug сообщает мне, что я отправил:

bar [object Object]
baz [object Object]
foo [object Object]

Я хочу иметь доступ к содержимому foo, bar, baz (надуманный пример, конечно).

Возможно ли это в Javascript? Или мне нужно использовать массивы, которые я не предпочитаю?

Ответы [ 2 ]

3 голосов
/ 18 февраля 2009

bar, baz и foo в вашем примере являются пустыми объектами, ерунда [object] состоит в том, что JavaScript делает все возможное, чтобы превратить переменные в строки. Я предлагаю включить что-то, что превратит ваши объекты в строки JSON. См. json.org и, в частности, json2.js , а затем вызовите метод stringify () для каждого из них:

foo = bar = baz = {};
$.ajax({
    url: "index",
    type: "post",
    data: { foo: foo.stringify(), bar: bar.stringify(), baz: baz.stringify() },
    dataType: "json"
});
2 голосов
/ 17 февраля 2009

Нет. Все, что отправлено через HTTP, в основном является строкой или массивом строк. Вы можете использовать JSON для преобразования каждого объекта в строковое представление, которое может быть тем, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...