我寫了一個函數,我允許回調傳遞給。然後我想用ajax repsonse和另一個參數來執行它。將回調和其他參數傳遞給jQuery ajax成功?
我的問題是執行回調,並且當我單步執行代碼時,它看起來像使用正確的參數調用該函數,但是當實際加入回調函數時,第一個參數的值爲無論我分配給第二個參數,第二個參數是undefined
。
這裏是我的功能:
namespace = {
fetch : function(sr, count, callback) {
srCount = count ? count : '25'
var sub;
if (sr == 'frontpage'){
sub = '';
}else{
sub = 'foo/' + sr + '/';
};
$.ajax({
url: "http://www.example.com/"+sub+ ".json?count=" + count,
dataType: "json",
success: function(msg)
{
callback.call(msg, count)
}
})
};
現在,當我這樣稱呼它:
mynamespace.fetch($(this).attr('href'), 25, true, another namespace.createPost);
我希望callback.call(msg, count)
解析爲callback.call(/*the ajax response*/, 25);
然而,當我運行它,我得到msg == 25
和count == 'undefined'
。我在爲什麼虧損?
'mynamespace.fetch($(this).attr('href'),25,true,another namespace.createPost);'。什麼是'真實'的? – 2011-12-22 19:31:54
我複製並粘貼的舊代碼的殘餘......未實際使用。編輯。 – 2011-12-22 19:33:34