簡體   English   中英

我的ajax調用未從PHP / Mysql提取動態數據

[英]My ajax call not pulling in dynamic data from PHP/Mysql

您好:我正在做一個項目,我要在頁面上將聯賽的部門列為按鈕。 當您單擊按鈕時,每個部門都會顯示不同的團隊列表。 所有部門和團隊都存儲在mysql數據庫中,並通過“ div_id”鏈接在一起。 該計划是讓按鈕使用javascript或Jquery將“ div_id”發送給函數;然后將使用ajax訪問外部php文件,然后使用div_id查找該部門的所有團隊並將其打印在頁面上我一直在拼湊這一切,並使各個部分都能正常工作,但是當我將它們放在一起時,似乎是ajax部分-如果更改了數據,則不會從數據庫中提取新數據。我更改了PHP文件以回顯更多數據或其他內容,它繼續使用原始的未更改文件。因此,如果更改了未更新的數據,並且更改了未更新的文件,我確實發現了是否確實用新名稱復制文件,然后讓我的ajax調用使用該文件;它將在那時使用新代碼和新數據運行它,但是此時所有內容都被鎖定,無法進行任何更改。

所以-我對ajax不太了解,並試圖做到這一點。 我不確定這對於我使用的內容和動態更改的團隊列表是否完全正常,因此無法通過用ajax調用PHP文件來完成。

或者-也許我擁有的Ajax代碼和文件有問題,這使其行為如此? 我將粘貼我的Ajax代碼和php文件的代碼…

這是ajax調用:

var answer = DivId;
$.ajax({
type: 'GET',
url:  'path_to_file/gscript2.php',
data: 'answer=' + answer,
success: function(response) {
    $('#ajax_content').html(response);
}
});

這是它調用的script.php文件(已刪除的數據庫憑據):

<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
    && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
) {
    // AJAX request
    $answer = $_GET['answer'];
    $div_id=$answer;

    echo "div id is: " . $div_id . "<br/>";




mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database!       Please try again later.');
mysql_select_db($dbname);

$result_g1 = mysql_query("SELECT * FROM teams WHERE div_id=$div_id");

while($row = mysql_fetch_array($result_g1, MYSQL_BOTH))
{
$team_id=$row[team_id];
$team_name=$row[team_name];
echo $team_id . " " . $team_name . "<br/>";
}


}
?>

所以-綜上所述-這樣做有什么問題嗎? 還是它做的完全正常,我必須找到其他方法?

非常感謝...

您的瀏覽器很可能正在緩存。

嘗試添加cache: false ,例如:

$.ajax({
    cache: false,
    type: 'GET',
    ...

jQuery文檔解釋說,這樣做,只需添加一個GET參數即可使每個請求在URL中都是唯一的。

它通過在GET參數后附加“ _ = {timestamp}”來工作。

我相信這是由您的瀏覽器的緩存機制引起的。

嘗試在請求中添加一個隨機數,這樣瀏覽器就不會緩存結果:

var answer = DivId;
$.ajax({
type: 'GET',
url:  'path_to_file/gscript2.php?r=' + Math.random(),
data: 'answer=' + answer,
success: function(response) {
    $('#ajax_content').html(response);
}
});

或通過以下方式關閉jQuery的緩存選項:

var answer = DivId;
$.ajax({
type: 'GET',
url:  'path_to_file/gscript2.php',
data: 'answer=' + answer,
success: function(response) {
    $('#ajax_content').html(response);
},
cache: false
});

或(全球):

$.ajaxSetup({ cache: false });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM