2010-12-10 27 views
2

こんにちは、load.phpという名前のファイルを呼び出し、AJAXで結果を取得しようとしています。しかし、私が知らない理由のために、私のコードは動作していません。ここに私のコードは次のとおりです。ajaxがjqueryで動作しない

$.ajaxSetup({ 
    cache:false 
}) 
var ajax_load="<img src='loading.gif' alt='loading...' />"; 
var loadurl = "load.php"; 
$("#add").click(function(){ 
    $("#result").html(ajax_load).load(loadurl, null, function(responsetext){ 
     alert("response text: "+responsetext); 
    }); 
}); 

addは私のボタンのIDで、resultは、私は結果が欲しい、私のdivのIDです。

サーバが結果を取得するまでに、読み込み中のGIFイメージを実行しておき、読み込みが完了したらコンテンツが表示されるようにしました。

また、私はキャッシュオプションを設定したくないので、私はそれを偽にしました。

すべての必要なライブラリとファイルが正しいパスに含まれています。誰でも助けてくれますか?

+0

何が問題なのですか?あなたはどんなエラーを出していますか? –

+1

火虫瓶はありますか?そこにエラーメッセージが表示されます。それは本当にあなたのajaxをデバッグするのに役立ちます。 –

+0

エラーが発生していません。サーバーからの応答がありません... @Nick – CHID

答えて

0

後世のために(コメントで解決されたように思われる)。この問題は、準備が整う前にDOMにアクセスしようとした結果であると思われます。

$("#add").click(function(){ 
    // Code... 
}); 

上記のコードでは、IDが「追加」を持つ要素に依存している(すなわち<a href='#' id='add'></a>)をクリックして渡された関数は、そのクリックイベントに取り付けることができるようにDOMに存在します。

要素が利用可能になる前に要素のイベントにアタッチしようとするのを避けるためには、DOM全体が読み込まれるまで待つことが重要です。 jQuery's ready methodはこれを行い、関数パラメータとして待機する必要のあるコードを受け入れます。

$(document).ready(function(){ 
    $("#add").click(function(){ 
    // Code... 
    }); 
}); 

jQueryは、関数を渡したときにも同じメソッドで$メソッドをオーバーロードします。これは、以下の便利な省略形を提供します。これは、しばしば代わりに使用されます。

$(function(){ 
    $("#add").click(function(){ 
    // Code... 
    }); 
}); 
関連する問題