Мне необходимо обратиться через 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));
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости