2016-07-25 1 views
2

私は次のセグメントのjsコードを持っていますが、私は$.tzPOSTを理解できません。

$.tzPOST('login',$(this).serialize(),function(r){ 
    working = false; 

    if(r.error){ 
     chat.displayError(r.error); 
    } 
    else chat.login(r.name,r.gravatar); 
}); 

$.tzPOSTとは何ですか?

ありがとうございました!

+0

これは_function_(この場合はオブジェクトメソッド)と呼ばれます。 'tzPOST'は' $ 'オブジェクトの静的_method_です。理解できない場合は、JavaScriptの基礎を学ぶ必要があります。 – undefined

+0

jquery-pluginがプロジェクトにインストールされている可能性がありますが、@ Vohumanの言っているように_function_として使用されています – ddb

+1

関数tzPostがどこかで定義されていれば、javascriptコードを検索しましたか?この関数は、$(this).serialize()をデータとして送信し、サーバの応答に関数(r)が実行されることによって、 'login' URIへのPOST-Callを実行するようです。しかし、tzPOSTは既知のフレームワーク関数ではないので、これは単なる推測です。回答のおかげで –

答えて

-1

あなたはライブウェブチャットについてthis tutorialを参照していると思います。

Rboeは、tzPOSTが$(jQuery)オブジェクトに追加されたカスタム関数だと正しく推測しました。チュートリアルでは、(すぐにそれを見つけるためにそこにCTRL + Fを使用)、同じページ上tzPOSTとtzGET両方の機能のためのソースを提供し、ここで彼らは、次のとおりです。

// Custom GET & POST wrappers: 
$.tzPOST = function(action,data,callback){ 
    $.post('php/ajax.php?action='+action,data,callback,'json'); 
} 

$.tzGET = function(action,data,callback){ 
    $.get('php/ajax.php?action='+action,data,callback,'json'); 
} 

それはちょうどPOSTを行い、要求コードが短いので、簡単にGET読んで維持する。たとえば、ajax.phpファイルの名前や場所を変更する場合は、AJAXの各リクエストでパスを変更するのではなく、これら2つの関数のパスを変更するだけです。標準的な方法では、関数は次のようになります。

$.post('php/ajax.php?action=login', $(this).serialize(), function(r) { 
    working = false; 

    if(r.error){ 
     chat.displayError(r.error); 
    }else { 
     chat.login(r.name,r.gravatar); 
    } 
}, 'json'); 

したがって、その差は小さくなります。

+0

あなたがdownvote場合は、理由を伝えるコメントを残してください。 –