2013-03-28 4 views
1

У меня есть следующий запрос Ajax:запрос Ajax возвращает неопределенное

$.ajax({ 
    type:'POST', 
    url:'../php/anmelden_info.php', 
    data:{ 
     kat : 'Freizeitfussballer' 
    }, 
    success: function(data){ 
     alert(data[0].anmelde_info); 
    } 
}); 

, который предупреждает undefined, но я не знаю, почему, потому что, когда я иду на мою консоль и искать ответ я получаю:

[{"kategorien_id":"3","kat_name":"Fasnacht","anmelde_info":"\n<b>Informationen:.... ......<\/b>\n<br \/>\nDer Turniereinsatz betr\u00e4gt 100.- pro Mannschaft."}] 

и я понятия не имею, что я делаю неправильно!

+0

Попробовать console.log (данные) и использовать консоль для отладки и посмотреть, что точно попадают в объект данных. – Pouki

+1

Прежде чем вы попытаетесь получить доступ к данным, выполните 'data = JSON.parse (data)' и посмотрите, поможет ли это. – adeneo

ответ

3

установить dataType: json в вас Jquery называют
Как следует

$.ajax({ 
    type:'POST', 
    url:'../php/anmelden_info.php', 
    data:{ kat : 'Freizeitfussballer'}, 
    dataType: json, 
    success: function(data){ 
     console.dir(data); 
    } 
    }); 

или если он не работал попробовать этот

$.ajax({ 
    type:'POST', 
    url:'../php/anmelden_info.php', 
    data:{ kat : 'Freizeitfussballer'}, 
    dataType: json, 
    success: function(data){ 
    data = JSON.parse(data); 
    console.dir(data); 
    } 
    }); 
+0

Несомненно 'dataType:" json ",' –

0
Try the below code first whilst you have the developer tools open in either Firebug or Chrome. This will show you the structure of the data obejct passed into the sucess method. 

$.ajax({ 
    type:'POST', 
    url:'../php/anmelden_info.php', 
    data:{ 
     kat : 'Freizeitfussballer' 
    }, 
    success: function(data){ 
     console.dir(data); 
    } 
    }); 
0

Вы должны использовать $.each() в функции успеха:

success: function(data){ 
    $.each(data, function(i, item){ 
     console.log(data.anmelde_info); 
    }); 
} 

И я предлагаю вам использовать console.log() для лучшей отладки.