このパートでは、youtube.com で見られるものと同じように、何かを評価できる (Keel の注: 何かに投票することです) 小さな AJAX アプリケーションを作成しました。
まず、サーバー側のコードが必要です。この例では、PHP ファイルを使用して評価パラメーターを読み取り、評価の合計数と平均を返します。 rate.php コードを見てください。
これらの例は AJAX を使用せずに実装することもできますが、それを行わないことを示しています。ID「評価」.$(document) を持つ DIV コンテナーを生成します。 .ready(function(){
var ratingmarkup = ['#'> " + i +"</a> ";
}
).find(" a ")。クリック(function(e){
e.preventDefault(); }, Function (XML) {
// 形式 Result
Var Result = [
"" than "" than "" ,
$("#評価").html(結果. join(''));
}); このコードは 5 つのリンクを生成し、リンクの 1 つがクリックされると、リンクが示すスコアを rate.php に送信します。評価パラメータの形式で、結果がサーバーから XML 形式で返され、これらのリンクを置き換えるためにコンテナに追加されます。
PHP がインストールされた Web サーバーがない場合は、このオンラインの例を参照してください。
JavaScript を使用しない例については、softonic.de にアクセスして、「Kurz bewerten!」をクリックしてください。メソッドはここで見つけることができます。または、AJAX の下にある AJAX ファイルを参照してください。
(翻訳者注: このオンライン インスタンスは中国からのアクセスが比較的遅いです。クリックしてから結果が表示されるまでに時間がかかります。変更することを検討してください。ロードの追加、投票後に再投票するためのリターン リンクの追加など。さらに、この例にはさらに理解する必要があることがまだたくさんあります。理解できない場合は、API ドキュメントを参照してください。 )
AJAX を使用してコンテンツをロードするときに発生する一般的な問題は、イベント ハンドラーを HTML ドキュメントにロードするときに、ロードされたコンテンツにもこれらのイベント ハンドラーを適用する必要があるということです。コンテンツはロードされます。コードの繰り返しの実行を防ぐために、$(function(){bar addclickhandlers = function(){
});これで、addClickHandlers は DOM のロード後に 1 回だけ実行されます。これは、ユーザーが clickMeToLoadContent スタイルのリンクをクリックしてコンテンツがロードされるたびです。
addClickHandlers 関数はローカル変数として定義されていることに注意してください。グローバル変数ではありません (function addClickHandlers() {...} など)。これは、他のグローバル変数や関数との競合を防ぐために行われます。
もう 1 つのよくある質問は、コールバックのパラメーターに関するものです。追加のパラメーターを通じてコールバック メソッドを指定することができます。簡単な方法は、コールバック メソッドを別の関数に含めることです。// get some data
var foobar = ...;
// ハンドラーを指定するには、パラメーターとしてデータが必要です
。 var handler = function(data) {
...
};
// クリック ハンドラーを追加し、foobar を渡します!
$('a').click( function(event) { handler(foobar); } );
// 元のハンドラーのコンテキストが必要な場合は、 apply:
$('a').click( function(event) { handler.apply(this, [foobar]); } );use 単純な AJAX の後に、これは非常に「web2.0」であると考えることができますが、今のところ、クールなエフェクトがまだいくつか欠けています。次のセクションでは、これらの効果について説明します。
その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。