2014-03-26 41 views
1

好了,所以,如何過早地關閉來自php的ajax調用?

[browser] ==> makes AJAX call to webserver running php

我有以下的PHP代碼,

<?php 

    //Process Ajax request 
    //return success code to browser 

    //continue with other php code 
?> 

究竟如何才能實現我的第二部分即 「返回成功代碼到瀏覽器」?並繼續處理php代碼。

+0

您可以使用輸出緩衝區和'flush();'函數在腳本完成之前將一些輸出推送到瀏覽器。進一步閱讀這裏:http://www.php.net/manual/en/book.outcontrol.php – jammypeach

回答

-1

我認爲這是可以做到像遵循

//initial php code 
call_function(); 

echo json_encode(array('success'=>true)); 

//other php code 
call_function(); //etc 

,或者你可以在2個部分分裂Ajax調用。在第1部分,將獲得的地位使回聲json_encode()將被執行,通話結束並在成功回調ajax使第二個電話將執行剩餘的代碼!

+0

它不能,因爲PHP完全首先執行。這意味着只有在call_function()完​​成後,echo纔會「出現」。 –

+0

是的,我知道這就是爲什麼我給你第二選擇拆分2部分的呼叫! –

+0

你的答案完全錯誤。 –

0
 put **async:false** in ajax call so your code will execute synchronously means until you don't get success or failure from ajax return rest of code will not execute .. do like following 

    // add here jquery file 
    <script> 
    $.ajax({ 
      url : "abc.com/page", 
      type: "POST", 
      data: {}, 
      async:false 
      success : function(data) 
      { 
       //you can use data here 
      } 
    }); 
    </script> 
    //you can write here php code