[英]$.post with function based parameters
我正在編碼一個充當加載鏈接的jQuery插件,該插件使用GET
或POST
向服務器發送請求,現在事情確實很基礎,但我無法弄清楚,也許我很累,呵呵呵。
這是我的代碼
插件實例化:
$('#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.