2012-12-16 13 views
9

ottengo l'errore precedente sul codice jQuery v1.7.2 quando si tenta di utilizzare il metodo $.each:TypeError: una è indefinito

$.post('url_of_php_file.php', 
      $.param({ 

      }), 
      function(data){ 
       $.each(data.articles, function(index, value){ 
       ..... 
}); 

Le richiesta restituisce:

{"articles": [ 
    { 
     "id":"11", 
     "date":"2012-12-19 15:52:06", 
     "title":"url_title", 
     "link":"url_link", 
     "available":"1" 
    }, 
    ..... *more rows like the above* 
]} 

Perché mi ricevi questo errore?

+1

Da dove viene visualizzato l'errore? – SLaks

+0

L'ho preso su firebug add-on per Firefox. Sembra che "a" sia per la riga 2 di jQuery v1.7.2: "(funzione (a, b) ....." – devmonster

risposta

13

Qualcosa che hai fatto ha causato un errore all'interno di jQuery. Questo è il 99,9% delle volte un bug nel tuo codice e non un bug in jQuery.

Ciò che aiuta è l'utilizzo della versione di sviluppo di jQuery. Non è ridotte di, il che significa che ha ancora i nomi delle variabili invece di essere a, b, ecc

Hai mandato un:

header('Content-Type: application/json'); 

prima della echo json_encode($data);? Ciò innescherebbe il rilevamento JSON di jQuery. Aggiungi un console.log(data); prima del $.each per confermare che i dati sembrano come ti aspetteresti.

+0

cosa diavolo può essere? e dove posso ottenere questo? versione? – devmonster

+2

http://jquery.com/ verifica "sviluppo" e stampa download –

Problemi correlati