2015-06-17 14 views
0

我想使用AJAX來檢查數據庫中的變量,如果它是真的,那麼它應該使它頭到一個某些頁面,除了這個測試短語,我沒有檢查任何變量。如果我調用函數,我只是測試它是否會返回到某個頁面。我從test1.php開始,但它應該已經調用了ajax函數,並立即將其標記爲test3.php,但它沒有。我不確定我做錯了什麼。請看看:使用AJAX檢查數據庫中的變量,如果爲true,頭部到特定頁面,PHP,JAVASCRIPT

ajax.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 

<script type = "text/javascript"> 

function nopassAjax(url,timeout) { 

     $.ajax({ 
      type: "POST", 
      url: url, 
      error: function(xhr,status,error){alert(error);}, 
      success:function(data) { 
      setTimeout(function() { timeoutAjax(url,timeout); }, timeout); 
      } 

     }); 

} 

</script> 

test1.php

<?php 

include('ajax.php'); 

echo "<script>"; 

echo "nopassAjax('test2.php',1000);"; 

echo "</script>"; 

?> 

test2.php

<?php 

//checks some stuff in the database 
//if true, header off to test3.php 

header("Location: test3.php"); 

?> 

test3.php

<?php 

echo "Hello"; 

?> 
+0

首先,它應該是'頭( '位置:test3.php');'重定向,其次,在Ajax發送那樣的報頭請求不會重定向調用頁面,這根本不能用PHP完成,但必須在JavaScript中完成,當ajax調用返回某些內容時 – adeneo

回答

1

從你的問題我假設你想重定向到通過您的AJAX調用返回的頁面。你不能單獨從PHP那裏做這件事。 使用Javascript:

$.ajax({ 
    method: "POST", 
    url: someUrl 
}).fail(function(error) { 
    alert(error); 
}).done(function(response) { 
    window.location = response; 
}); 

PHP:

<?php 
    echo "test3.php"; 
?> 
+0

window.location應該等於test3.php,不應該嗎? – frosty

+0

我在哪裏放上面的代碼? – frosty

+0

另外,它在檢查test3.php之前檢查數據庫中的內容? – frosty

相關問題