2016-05-17 35 views
2

我使用AJAX每5000毫秒更新一個頁面。它很好,但我遇到了一個問題。當我嘗試使用$_GET$_POST獲取URL中的數據時,它不起作用。而是返回值爲1。這裏是一些示例代碼。通過URL傳遞變量不正常使用PHP和ajax

main.php我有這樣的:

$(document).ready(function worker() { 
    $.ajax({ 
     url: 'Request.php', 
     type: 'POST', 
     success: function(data) { 
      $('#Live_data').html(data); 
     }, 
     complete: function() {  
      setTimeout(worker, 5000); 
     } 
    }); 
})(); 

當這個被稱爲它觸發關閉request.php。在request.php我有一些代碼來抓住在前一頁的網址中添加的內容,但它不起作用。它是這樣的:

$value = $_get['test']; 

這應該返回的URL參數test值,但它不工作。

謝謝!

+0

您需要解析結果或指定'dataType'示例'dataType:'text'' – guradio

+0

您沒有在您的AJAX請求中發送任何值;你需要添加一個'data'屬性和所需的值來發送請求。 –

+0

你不在這裏發送任何數據? – JYoThI

回答

3

你忘了與阿賈克斯查詢發送數據,

在這段代碼中,你可以添加GET數據被追加一個查詢字符串的URL值,或通過設置請求的數據屬性發送POST數據,

$.ajax({ 
     url: 'Request.php?query=string&is=here', 
     type: 'POST', 
     data: {to: 'post', goes: 'here'}, 
     success: function(data) { 
      $('#Live_data').html(data); 
     }, 
     complete: function() {  
      setTimeout(worker, 5000); 
     } 
    }); 

https://api.jquery.com/jquery.post/#jQuery-post-settings

+0

我確實做到了!謝謝! Request.php?query = <?php echo $ string?> – Thisguydontknow

1

看到你這裏沒有發送任何數據。您可以在Url或數據字段中發送所需的數據。

url: 'Request.php?test=xyz', 

data: data, 
1

我評論這很好,但我會後的答案:

  1. 變化POSTGET在您的jQuery AJAX請求。
  2. 使用request.php而不是Request.php或其他方式。使用$_GET代替$_get。這個變量是區分大小寫的。
+0

謝謝你,這也幫了我一些忙 – Thisguydontknow