0

我正在尝试使用回调函数将数据从函数发送到 ajax 调用。

我有功能:

function CallAfterLogin(data,callback){
        FB.login(function(response) {  //---
        if (response.status === "connected")
        {
            LodingAnimate(); 
            FB.api('/me?fields=movies,email', function(mydata) {
            console.log(mydata);
              if(mydata.email == null)
              {
                 alert("You must allow us to access your email id!");
                 ResetAnimate();
              }else {
                alert("hi");
                callback(data); // <=== Trigger the callback
            }
              }); //--
         } //if
             }); //---

我在按钮单击事件中调用:

<button type="button" onclick="CallAfterLogin()" ?>Click Me!</button>

我想将数据发送到ajaxResponse()函数:

function AjaxResponse()
 {
    document.CallAfterLogin(mydata, function(send) {
        var myData = 'connect=1'; 
        $.ajax({
        type: "POST",
        url: "process_facebook.php",
        data: {
                   connect: 1,
                   myd: mydata      //
                  }
                  }).done(function(result) {
                        $("#fb-root").html(result);
                     });
               });
  } 

上面的代码一直有效callback(data); // <=== Trigger the callback,然后在 Firebug 中我看不到任何错误或警告。它显示profiler is running几秒钟,然后没有活动。

我认为打电话后有问题callback(data);有人可以告诉我这里有什么问题吗?我试图ajaxResponse()在 buttonclick 事件上调用函数,但它没有任何动作。

4

2 回答 2

1

解决:

我需要使用:

<button type="button" onclick="AjaxResponse()" ?>Click Me!</button>

于 2013-08-12T05:51:40.807 回答
0

firebug 是否显示正在写入控制台的“hi”文本?“回调(数据)”函数的代码在哪里?您的意思是在那时调用“CallAfterLogin”函数吗?

于 2013-08-12T04:50:45.397 回答