2011-06-08 17 views
2

私は問題を抱えています。私は誰かが正しい方向に私を向けることを望んでいます。私が実行しているだけでテストJquery Ajaxの問題

このコードはtest.jsファイルこの

$(document).ready(function() { 
    $.ajax({ 
     type: 'GET', 
     url: 'test.xml', 
     dataType: 'xml', 
     success: testIt 
    }); 
}); 

function testIt(xml) { 
    alert("Test"); 
} 

に存在している:私はこのjQueryのアヤックスの機能を使用してXMLファイルを解析しようとしていることは、コードですAjaxリクエストを実行した後、testItを呼び出す必要があります。問題はそうではないということです。これはテストなので、html、js、xmlファイルはすべて私のデスクトップの同じディレクトリにあります。つまり、/Users/Chris/Desktop/Developmentです。

complete: testItを追加すると機能に入ります。 test.xmlがチェックされ、有効であることを確認します。

私は現在Safari 5.0.5を使用してテストしていますが、同じように機能するFirefoxでもテストしました。それは$.ajaxの奇妙なものか、私が間違っている可能性が高いものです。

すべてのヘルプは

+0

完全関数が実行され、成功しなかった場合は、$ .ajaxにエラー関数を追加し、エラーメッセージが何であるかを確認することをお勧めします。 – dioslaska

+0

あなたはどのjQueryバージョンを使用していますか?ローカルファイルにajaxを実行すると、返されたステータスコードは '200'ではなく' 0'(ステータスコードを送信するWebサーバはありません)になります。たとえば、jQuery 1.5では、「0」のチェックに問題がありました。 – kapa

答えて

0

をいただければ幸いChromeでFirebugで行く、または組み込みの開発ツールを持っており、あなたのAJAX呼び出しからの要求と結果を詳しく見てみましょう。 successが実行されず、completeの場合は、何らかの理由でエラーステータスが返される可能性があります(answerで概要が説明されているため)。

私のマシンであなたの設定を試してみました。そして、ajaxオプションにerror: function() { alert("didn't work..."); }を追加しました。私は要求がエラーコードで戻ってくると思っていました。

これを最後にオンラインで使用する場合は、xmlファイルをどこかにアップロードし、そこからロードしてそのファイルが動作するかどうかを確認することをおすすめします。ローカルWebサーバを実行している場合、 "somewhere"は自分のコンピュータかもしれませんが、localhost:8080/something/test.xmlのような "本当の" URLでリンクする必要があります。

+0

助けを歓迎します – Lipwig