2016-07-25 47 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插件已經安裝在項目中,但當然它被用作_function_,正如@Vohuman所說 – ddb

+1

如果函數tzPost被定義在某處,您是否搜索了您的JavaScript代碼?該函數似乎通過發佈$(this).serialize()作爲數據並在服務器響應函數(r)被執行時執行POST-Call到'login'uri。但這只是一個猜測,因爲tzPOST不是已知的框架函數。 –

回答

-1

我想你指的是this tutorial關於實時聊天。

Rboe猜測tzPOST是一個被添加到$(jQuery)對象的自定義函數。本教程提供了在同一頁上都tzPOST和tzGET功能(使用CTRL + F,即可快速找到它),在這裏,他們是來源:

// 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請求中更改它。用標準方式你的功能看起來像這樣:

$.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

如果你不滿意,請留下評論,告訴你爲什麼。 –