我打電話給查詢我的數據庫並返回結果的php文件。我已經驗證了php文件能夠根據需要準確返回數據,但我的調用頁面並未從JavaScript更新。JavaScript不返回數據但沒有錯誤
我需要在下面的語法中更改哪些內容,以便返回頁面上的值?
<script type="text/javascript">
function boostion()
{
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("GET", "QueryDB.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = display_data;
function display_data() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
document.getElementById("data").innerHTML = xhr.responseText;
} else {
alert('There was a problem with the request.');
}
}
}
}
</script>
編輯
我也打開Chrome開發選項,並檢查了控制檯,並且沒有顯示錯誤或問題,一切都成功了!
編輯2
我試着用下面的JQuery的方法,並使用了此語法 - 但我得到的錯誤
Uncaught TypeError: $(...).load is not a function
語法:
<script src="https://code.jquery.com/jquery-3.1.1.slim.js"
integrity="sha256-5i/mQ300M779N2OVDrl16lbohwXNUdzL/R2aVUXyXWA="
crossorigin="anonymous" type="text/javascript"></script>
<script type="text/javascript">
$(window).load(function(){
$.get("QueryDB.php", function(data, status){
document.getElementById("data").innerHTML = data;
});
});
</script>
編輯3
這是我的php語法,它運行我想要返回的sql語法和回顯結果JavaScript的
<?php
$option = array();
$option['driver'] = 'mssql';
$option['host'] = 'host';
$option['user'] = 'user';
$option['password'] = 'password';
$option['database'] = 'database';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$result = $db->getQuery(true);
$result->select($db->quoteName(array('trackandfieldresults')));
$result->from($db->quoteName('[TrackData]'));
$db->setQuery($result);
$row = $db->loadRowList();
echo $row['0']
?>
如果你沒有意識到這一點 –