私のデータベースにクエリを実行し結果を返す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>
EDIT
私も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
これは私が返す必要があるSQL構文とエコー結果を実行する私のPHP構文です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']
?>
私のデータベースとデータを返します。私はxhr.send()を見てみましょう –