извините за длинный вопрос. Я пытаюсь сделать ajax сообщение, чтобы собрать историю позиций контактов, а затем добавить маркеры на карту.ajax post успех parse json
Аякса сообщение возвращает JSON позиции данных, закодированный как:
[{"name":"Chris","data":{"user":"447967048843","data":[{"timestamp":1332840872,"longitude":-1.549517,"latitude":53.973174},{"timestamp":1332841510,"longitude":-1.444133,"latitude":53.997148}]},"contacts":null},{"name":"Jason","data":{"user":"447879896697","data":[{"timestamp":1332839836,"longitude":-1.566667,"latitude":53.978533},{"timestamp":1332840447,"longitude":-1.567654,"latitude":53.977927}]},"contacts":null}]
Здесь getHistory функция, которая вызывается отправки формы после того, как был выбран контакт.
function getHistory() {
var contact = $("#contact").val()
var days = $("#days").val()
$.ajax({
type: 'post',
url: 'temp_history.php',
data: {contact: contact, days: days},
context: document.body,
beforeSend: function() {
},
success: function(succ){
var obj = jQuery.parseJSON(succ);
var divs="",tabs="",counts=0;
jQuery("#gMap").gmap3({
action: 'clear'});
jQuery(".marker").remove();
jQuery.each(obj,function(i,item){
tabs +=item.contacts;
if(item.data.latitude != null && item.data.longitude!=null)
{
addMarker(item.name, item.data.timestamp,item.data.latitude,item.data.longitude,item.data.user_id);
}
});
}
});
}
Я думаю, что проблема в том, что мне нужно, чтобы гнездиться функцию jQuery.each, но не знаете, как?
Функция addMarker является:
function addMarker(name, timestamp, lati, longi, user_id) {
jQuery("#gMap").gmap3({
action: 'addMarkers',
markers:[
{lat:lati, lng:longi, data:name}
]
});
}
Спасибо
Вы пробовали переходить через код в Firebug? – McGarnagle
Что не работает? вы проверили наличие предупреждений/ошибок в firebug? – maialithar
ошибок нет, но также нет меток. Похоже, что данные json - это многомерный массив, поэтому мне нужно обновить функцию в соответствии, любая идея как? –