簡體   English   中英

$ .post具有基於函數的參數

[英]$.post with function based parameters

我正在編碼一個充當加載鏈接的jQuery插件,該插件使用GETPOST向服務器發送請求,現在事情確實很基礎,但我無法弄清楚,也許我很累,呵呵呵。

這是我的代碼

插件實例化:

$('#load-products-button').loadingLink({
    params: function(){
                return {                        
                   provider_id: $('#provider_id').val()
                }
    },
    method: 'post',
    success: function(res){
         alert('ok');
    }
});

進行調用的代碼是:

var params = settings.params ? settings.params : null;

$[settings.method](url, params)
     .success(function() {
       settings.success.apply(this, arguments);
     })
     .fail(function() {
       settings.error.apply(this, arguments);
     })
     .complete(function() {
       //remove the loading html
       link.html(currentHtml);
     });

事實是,在發送發布請求時,由於包含參數調用而未發送參數,因此發布請求時不帶參數。

如果我將參數替換為{provider_id: $('#provider_id').val()}則它可以正常工作,但是在插件實例化上發送參數對我來說不起作用。

發送前如何評估參數?

提前致謝。

由於params是一個函數,因此必須調用它才能獲取值。 在您的插件中,將代碼更改為以下內容:

var params = null;
if (settings.params) {
    if (typeof settings.params == "function") {
        params = settings.params();
    }
    else {
        params = settings.params;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM