2011-10-08 16 views
7

Sto usando la seguente chiamata jQuery Ajax ... comunque non funziona.TypeError: a is null

Errore: TypeError: a is null

Ecco il mio codice:

var prefixUrl = "autocomplete?action=complete&id="; 
$('#complete-field').bind('keyup', function(){ 
var url = prefixUrl + escape($('#complete-field').val()); 
$.ajax({ 
    type: "GET", 
    getUrl:url, 
    dataType: "xml", 
    success: function(responseXML) { 
     var composers = responseXML.getElementsByTagName("composers")[0]; 
     if (composers.childNodes.length > 0) { 

      $('#complete-table').css("border", "1px solid green"); 
      $('#complete-table').css("margin", "128px 0 0 -82px"); 

      for (var loop = 0; loop < composers.childNodes.length; loop++) { 
       var composer = composers.childNodes[loop]; 
       var firstName = composer.getElementsByTagName("firstName")[0]; 
       var lastName = composer.getElementsByTagName("lastName")[0]; 
       var composerId = composer.getElementsByTagName("id")[0]; 

       appendComposer(firstName.childNodes[0].nodeValue, lastName.childNodes[0].nodeValue, composerId.childNodes[0].nodeValue); 
      } 
     } 
    }, 
    error:function (xhr, ajaxOptions, thrownError) { 
     alert('xhr.status: ' + xhr.status); 
     alert(thrownError); 
    } 
    }); 
}); 

Qualsiasi idea per favore?

Molte grazie

+6

Um, quale linea state ottenendo che errore? –

+1

non vedo alcun errore qui, deve essere da qualche altra parte nel tuo codice ... di solito firebig dà la linea dell'errore ... quindi sai dove succede – Reflective

+3

Sono cieco, o non c'è nemmeno una variabile chiamata 'a' in questo frammento? –

risposta

3
$.ajax({ 
    type: "GET", 
    getUrl:url, 
    ... 

dovrebbe essere

$.ajax({ 
    type: "GET", 
    url: url, 
    ... 

Vedere la documentazione in http://api.jquery.com/jQuery.ajax/

+2

Si potrebbe pensare che qualcosa così pesantemente sviluppato come jQuery darebbe messaggi di errore significativi se si dimentica di specificare un parametro richiesto ... –

+2

@Kolink Sono d'accordo con te, ma d'altra parte, jQuery fornisce codice non terminato per lo sviluppo e test. – Andbdrew

Problemi correlati