我写了一个函数,我允许回调传递给。然后我想用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