Аякс. Как получить данные с сервера в виде массива или 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, время: 19:11. |