返回信息流var function(params) {
var obj = params;
$.ajax({
....
success : sucFun.bind(obj)(); //为什么这样,请求回来的数据传递不过去,请求成功后,data, //textStatus, jqXHR 不是会作为sucFun的参数么,还是说,bind函数这里必须明确参数??
//success : function(data){sucFun.bind(obj)(data)}//这样可以
});
}
var sucFun = function(){}
这是一条镜像帖。来源:北邮人论坛 / www-technology / #19125同步于 2013/3/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
javascript bind问题
lyf291450708
2013/3/1镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
【 在 zzjin 的大作中提到: 】
: ajax的success参数必须是function http://api.jquery.com/jQuery.ajax/
恩,这个我知道,是不是下面这个原因:
success : sucFun.bind(obj)();
success : function(data) {};
bind后,obj将sucFun作为自己的函数来用,此时,success后的参数并没有传递给sucFun.
【 在 lyf291450708 的大作中提到: 】
:
: 恩,这个我知道,是不是下面这个原因:
: success : sucFun.bind(obj)();
: ...................
zzjin说得很清楚了嘛,success的值必须是函数对象,sucFun.bind(obj)();这一句返回不是函数对象,所以就报错了。
不要想太复杂
【 在 rhj1122 的大作中提到: 】
:
: zzjin说得很清楚了嘛,success的值必须是函数对象,sucFun.bind(obj)();这一句返回不是函数对象,所以就报错了。
: 不要想太复杂
哦,晓得了,谢谢!
【 在 zzjin 的大作中提到: 】
: ajax的success参数必须是function http://api.jquery.com/jQuery.ajax/
恩,明白了,谢谢!
哎哟...你后面带个括号干嘛?
bind就是返回那个函数了...不用执行那个函数啊...
【 在 lyf291450708 (蒲公英) 的大作中提到: 】
: 恩,这个我知道,是不是下面这个原因:
: success : sucFun.bind(obj)();
: success : function(data) {};
: ...................
success : sucFun.bind(obj)(); ==> 运行 sucFun.bind(obj)() 这个方法的结果(即返回值),如果绑定成功,则是true,这句相当于success : true 当然报错
success : function(data) {}; 用匿名函数包裹起来,匿名函数也是一个函数