[英]How can I pass parameters to a jQuery $.getJSON callback method?
我正在嘗試使用 jQuery 通過Ajax/$.getJSON
調用一些自定義 API。
我正在嘗試將自定義值傳遞到 Ajax 回調方法中,但該值並未傳遞,實際上已被覆蓋。 這是我的代碼:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results, locationType) {
searchResults(results, locationType)
});
在我使用 AJAX 調用 URL 之前, locationType
的值為3
。 但是在調用成功返回數據后, locationType
的值現在是success
。 這是因為回調的方法簽名是:
callback(data, textStatus) 請求成功時執行的回調函數。
如何將 1 個或多個參數傳遞給回調方法?
扭曲函數,例如
function getResults(locationType) {
$.getJSON(url, null, function(results) {
searchResults(results, locationType)
});
}
但是在您的特定情況下,您甚至不必傳遞它,您可以直接在回調中訪問該值。
您不需要傳入它,只需引用您已有的變量,如下所示:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results) {
searchResults(results, locationType)
});
此外,如果您沒有數據對象,則無需傳遞null
,它是一個可選參數,jQuery 會檢查第二個參數是否為函數,因此您可以這樣做:
$.getJSON(url, function(results) {
searchResults(results, locationType)
});
您可以使用.ajax方法:
var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$.ajax({
url: url,
context: { lt: locationType },
success: function(results) {
searchResults(results, this.lt);
}
});
可以試試:
function getResults(locationType) {
$.getJSON(url, {p1:'xxx', p2: 'yyy'}, function(results) {
searchResults(results, locationType)
});
}
$.getJSON("url",
"//here you can define your id, secure key to check data in your console, if you don't have condition for id and secure key just remove the secure key part."
{secure_key:"noaccess"}, function(data){
console.log(data);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.