Мне необходимо обратиться через ajax на сервер и ответ получить как массив. Вот код php:
$result = json_encode($xmlChange);
echo $result;
Вид ответа:
{"transaction":[{"id":"0","btc":"0.2","dtime":"25"},{"id":"1","btc":"0.2","dtime":"25"}]}
Вот ajax функция:
$.ajax({
type: 'GET',
url:'index.php',
success:function(msg){
var result = JSON.parse(msg);
$('.result').html(result);
}
});
В ответ ничего
$.ajax({
type: 'GET',
url:'index.php',
success:function(msg){
//var result = JSON.parse(msg);
console.log(typeof msg, msg);
},
error: function(request) {
console.log("ERROR", request);
}
});
Сообщите, что в консоли браузера.
string {"transaction":[{"id":"0","btc":"0.2","dtime":"25"},{"id":"1","btc":"0.2","dtime":"25"}]}
В success
-обработчик приходит строка (что странно, я считал, что jQuery в отсутствие dataType
пытается определить тип данных ответа). После JSON.parse
строка преобразуется в объект.
Функция $().html(...)
принимает html-строку или функцию. Когда туда подается js объект, innerHTML
выбранных DOM-элементов очищается.
success:function(msg){
var result = JSON.parse(msg);
for (var i = 0; i < result.transaction.length; i++) {
$('.result').append($("<div></div>").text(result.transaction[i].dtime));
}
}
Вариант без JSON.parse
:
dataType: "json",
success:function(result){
for (var i = 0; i < result.transaction.length; i++) {
$('.result').append($("<div></div>").text(result.transaction[i].dtime));
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Lodash не реагирует на код (в просмотре кода страницы вижу, что на месте переменной ничего не появилось):
Есть канвас на которой рисуется произвольная линия по движению мыши и зажатию левой кнопки