ajax为什么success没用,为什么这个“ajax:success”事件没有被解雇?

我有一个带有几个“邀请”按钮的视图,如下所示:

Invite

当单击其中一个按钮时,将调用AJAX函数(invite_friend):

$('.fbinvite_form').click(function() {

invite_friend();

});

这是invite_friend(有些值在我调试时是硬编码的):

function invite_friend() {

$.post('/groups/7/invitations',

{

"recipient_email": "facebook@meetcody.com",

"commit" : "fb",

"fb" : "fb"

},

function(response) {

});

}

以下是从控制器返回的相关行:

render :json => {

:url => signup_with_token_url(@invitation.token),

:id => @invitation.id

},

:status => :created

我可以确认这个json正在正确呈现。此时我预计会发生ajax:success事件。我的页面顶部有以下代码:

$('.fbinvite_form').bind("ajax:success", function(evt, data, status, xhr) {

...

});

但它没有开火。任何可能出错的线索或如何更好地排除故障(我有点像菜鸟)?

附加背景

我想补充一点,因为它可能有所帮助。我最初构建它是为了使用表单,它工作正常。出于某些性能原因,我决定使用AJAX切换到按钮。这是原始形式:

true, :html => { :'data-type' => 'html', :class => 'fbinvite_form', :id => friend[:identifier]}) do |f| %>

"facebook@meetcody.com" %>

"btn btn-medium btn-primary", :name => "fb" %>

此后,您已在控制器代码段上方看到所有代码。

更新1

Per Vince的建议我已将“ajax:success”代码移入成功函数中。这是最初的“ajax:success”功能:

$('.fbinvite_form').bind("ajax:success", function(evt, data, status, xhr){

var fb_id = $(this).attr('id');

var response = eval("(" + xhr.responseText + ")");

var link_url = response.url;

var id = response.id;

var inv_url = + id;

var picture_url = "https://www.example.com.com/assets/cody_130by130.png";

var desc = ;

send_invite(fb_id, link_url, picture_url, desc, inv_url); return false;

});

以下是我将代码移入成功函数所做的工作。问题是我似乎无法访问“xhr”

$.ajax({

type: "POST",

url: "/groups/7/invitations",

data: {recipient_email: "facebook@meetcody.com", commit : "fb", fb : "fb" },

dataType: "json",

success: function(evt, data, status, xhr) {

var fb_id = $(this).attr('id');

var response = eval("(" + xhr.responseText + ")");

var link_url = response.url;

var id = response.id;

var inv_url = + id;

var picture_url = "https://www.meetcody.com/assets/cody_130by130.png";

var desc = ;

send_invite(fb_id, link_url, picture_url, desc, inv_url); return false;

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值