单击按钮后调用另一个页面而不加载页面

时间:2013-08-12 15:28:09

标签: php javascript jquery ajax facebook

我从FB获取数据并存储在数据库中。处理完成后,我想重定向到test.php,没有页面重新加载。但我不知道如何遵循复杂(对我而言)的代码。

我有两个功能。

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

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 
        {
            var json = JSON.stringify(mydata.movies.data);
            var a = JSON.parse(json);

            $.post('process_facebook2.php',{'myd':a}, function(data) 
            {
              alert(data);      
            });
        }

所谓的:

<input type="image" src="fb.png" name="getStarted" value="btnBasic1" onclick="AjaxResponse()" height="40" alt="Submit" />

alert(data)之后,我希望它重定向到某个页面test.php。怎么可能没有页面重新加载?

2 个答案:

答案 0 :(得分:0)

您可以使用.load()通过jQuery加载要更改的内容。

答案 1 :(得分:0)

根据test.php包含的内容,您可以执行AJAX调用来加载test.php并使用jQuery替换当前页面的主体。

test.php的

$new_body = '<h1>Hi!</h1>';
echo $new_body;

AJAX调用

$.ajax({
url:        'test.php'
,async:     true
,cache:     false
,dataType:  'html'
,success:   function(data){
                $('body').html(data);
            }
});