Аякс. Как получить данные с сервера в виде массива или json
Доброго времени суток!
Отправляю на сервер данные в виде json, вот так: function inthecart(sign,image){ $.post( "ajax_cart.php", {s:sign,i:image}, function(data,fed) { alert("Data loaded - " + data + " and what id second - " + fed); $("#count_poz").text('data'); } ); } Сервер присылает много данных, но они приходят в data в виде строки, чтото типа такого 'image - 12.jpg price - 3344 number - 36 sign - modem' Как мне принять в виде массива эти данные. Я бы не хотел на стороне клиента с помощью javascript вытаскивать из этой строки необходимые мне данные. Заранее спасибо за понимание.:) |
Как с сервера отправляете, так они в браузер и приходят.
|
А как мне с сервера отправлять?
Я отправляю просто вот так: Какието операции с данными и вывод данных которые мне нужны: echo $image; echo $number; и т.д. |
На сервере накапливаешь данные в массив с нужными ключами, в конце отправляешь на сервер в виде json стороки:
header('Content-type: application/json'); die(json_encode( 'image' => $image, 'number' => $number ));А вот так, как у тебя сейчас, не делай лучше: если потом твой код кто-то будет поддерживать, то он вполне потом может совершить какое-нибудь ужасное преступление. |
Правильнее так:
header('Content-type: application/json'); die(json_encode( array( 'image' => $image, 'number' => $number ) )); |
ой, точно :)
|
Спасибо!
"А вот так, как у тебя сейчас, не делай лучше: если потом твой код кто-то будет поддерживать, то он вполне потом может совершить какое-нибудь ужасное преступление." - вкратце можете объяснить почему? |
Потому что это дурной стиль, сразу же выдающий человека, который еще не очень опытен, или просто не очень хороший программист, или новичок, не знакомый с граммотным стилем программирования. Разве вы сами не видите, что так - не удобно, когда по всему коду разбросаны echo. Это не удобно, это потенциально багоопасно, потому что так легко что-то упустить, это тяжело поддерживается и расширяется, это загрязняет код, делая его неструктурированным куском.. кода. Понимаете? Код должен иметь четкую структуру. Даже если вы не используете нормальные подходы типа MVC, каждая строка в коде может (и должна) отвечать за свою часть работы, а не так что здесь я что-то вытянули из базы, и сразу же это послали куда-то, а потом еще сделали цикл, а потому опять отправили..
|
Это я понимаю прекрасно, сам часто копаюсь с кодом чужим, только это и учит писать структурированный, чистый код =)
Я просто думал есть какой-то конкретный баг этого метода. =) |
Часовой пояс GMT +3, время: 01:02. |