Javascript 在ajax完成之前重定向页面

Javascript 在ajax完成之前重定向页面,javascript,jquery,ajax,facebook,facebook-fql,Javascript,Jquery,Ajax,Facebook,Facebook Fql,我使用ajax创建一个会话,并在用户单击这样的按钮时重定向页面。。我在facebook api中使用它(使用api创建与user.id的会话) 但问题是,在创建会话之前,窗口正在重定向。。 这是菜单 sessions.php文件 <?php session_start(); require_once("connection.php"); $user=mysql_query("SELECT * from `thebirbals`.`FBusers` wh

我使用ajax创建一个会话,并在用户单击这样的按钮时重定向页面。。我在facebook api中使用它(使用api创建与user.id的会话)

但问题是,在创建会话之前,窗口正在重定向。。 这是菜单

sessions.php文件

    <?php

    session_start();


    require_once("connection.php");
    $user=mysql_query("SELECT * from `thebirbals`.`FBusers` where uid='$uid';");


    $row_count=mysql_num_rows($result);


        $_SESSION['uid']=$_GET["uid"];
        $uid = $_SESSION['uid'] ;


    if($row_count==1){

        $_SESSION['name'] = $check["name"];
        $_SESSION['profile_link'] = $check["profile_link"];
        $_SESSION['dp'] = $check["dp"];
    }

    else{


        require_once('facebook/src/facebook.php');

        $facebook = new Facebook(array(
         'appId'  => '1550598824560526',
         'secret' => '4cf28242b5abfa26be8fd3e2074e5724',
         'cookie' => false
         ));


         $fql = "SELECT first_name,profile_url,pic_small from user where uid=$uid";

         $response = $facebook->api(array(
         'method' => 'fql.query',
         'query' =>$fql,
         ));


         foreach($response as $val)
         {

            $_SESSION['name']=$val["first_name"];
            $_SESSION['dp']=$val["pic_small"];
            $_SESSION['profile_link']= $val["profile_url"];

            $name = $val["first_name"];
            $profile_link = $val["profile_url"];
            $dp = $val["pic_small"];
            echo "done";

        }

        $insert=mysql_query("INSERT INTO  `thebirbals`.`FBusers` ( `uid`, `name`, `profile_link`, `dp`) VALUES ('$uid', '$name', '$profile_link', '$dp');");


    }   
?>

我捅了一刀。不确定这是否能完全解决您的问题,但将其作为起点:

FB.login(function (response) {
    if (response.session) {
        FB.api('/me', function (user) {
            if (user != null) {
                if (document.getElementById("ans2").value == "") {
                    document.getElementById("belowbutton2").innerHTML = "Don't leave it blank!!";
                }
                else {
                    var uid = user.id;
                    alert(uid);
                    $.ajax({ url: "sessions.php?uid=" + uid,
                        async: false,
                        cache: false,
                        timeout: 30000,
                        error: function () {
                            window.location = "http://www.xyz.com";
                        },
                        success: function () {
                            $.get("weekques/answer.php", $.param({ "ans": document.getElementById("ans2").value }), function (data) {
                                alert("Answer received");
                                document.getElementById("debugger").innerHTML = data;
                                window.location = "weekques/weekques.php";
                            });
                        }
                    });
                }
            }
        });
    }
});

完全脱离主题,但你的应用程序机密不应该保密吗?你的代码在几个层面上看起来都很混乱。你从哪里复制的?我把它重定向到谷歌进行调试@局长。。对不起,我是新手。。
FB.login(function (response) {
    if (response.session) {
        FB.api('/me', function (user) {
            if (user != null) {
                if (document.getElementById("ans2").value == "") {
                    document.getElementById("belowbutton2").innerHTML = "Don't leave it blank!!";
                }
                else {
                    var uid = user.id;
                    alert(uid);
                    $.ajax({ url: "sessions.php?uid=" + uid,
                        async: false,
                        cache: false,
                        timeout: 30000,
                        error: function () {
                            window.location = "http://www.xyz.com";
                        },
                        success: function () {
                            $.get("weekques/answer.php", $.param({ "ans": document.getElementById("ans2").value }), function (data) {
                                alert("Answer received");
                                document.getElementById("debugger").innerHTML = data;
                                window.location = "weekques/weekques.php";
                            });
                        }
                    });
                }
            }
        });
    }
});