2011-10-08 5 views
7

次のjQuery Ajax呼び出しを使用しています...とにかく動作しません。TypeError:aがnullです

エラー:TypeError: a is null

ここでは私のコードです:

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); 
    } 
    }); 
}); 

任意のアイデアしてください?

多くのおかげ

+6

あの、でドキュメントを参照してください? –

+1

ここにエラーは見られません。あなたのコードのどこかにあるはずです...通常、firebigはエラーの行を示しています...だから、どこで発生するのか知っていますか? – Reflective

+3

私は目が見えませんか、このスニペットの 'a'ですか? –

答えて

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

があるべき

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

はあなたにそのエラーを取得しているラインhttp://api.jquery.com/jQuery.ajax/

+2

必要なパラメータを指定するのを忘れた場合、jQueryのように開発されたものが意味のあるエラーメッセージを出すと思います... –

+2

@Kolink私はあなたに同意しますが、jQueryは開発用に未定義のコードを提供していますテスト。 – Andbdrew

関連する問題