関連: Javascript / PHP によるデータベースのクエリ
この質問は、私の上記の質問に関連しています。私の回答の1つに記載されているように、PHPスクリプトを修正しました。使っ$.getJSON
てみましたがダメでした。そのため、サーバーから応答を取得する元の方法に固執しました。
function getDatabaseRows()
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
alert(xmlHttp.responseText);
}
}
xmlHttp.open("POST", "myDomain.com/subDirectory/getRowCounts.php", true);
xmlHttp.send(null);
}
アラートが実行されると、アラートはテキスト ファイルであるかのように機能し、PHP スクリプトの内容全体を取得します。スクリプトを実行するのではなく、サーバーからスクリプトのテキスト コピーを取得するだけです。私のスクリプト(前の質問にリンクされています)は次のとおりです。
$rowCounts = array();
$dbhost = 'host';
$dbuser = 'host';
$dbpass = 'host';
$dbase = 'host';
$fields = array(
'MaxTID' => array('tab' => 'TransData', 'col' => 'TID'),
'MaxSID' => array('tab' => 'FullData', 'col' => 'SID'),
'MaxFID' => array('tab' => 'SalamanderData', 'col' => 'FID'),
'MaxOID' => array('tab' => 'OthersData', 'col' => 'OID')
);
$con = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
mysql_select_db($dbase, $con) or die(mysql_error());
foreach ($fields as $id => $info) {
$sql = "SELECT MAX({$info['col']}) FROM {$info['tab']}";
$result = mysql_query($sql, $con);
if (!$result) die('Could not query:' . mysql_error());
$rowCounts[$id] = mysql_result($result, 0);
}
echo json_encode($rowCounts);
mysql_close($con);
私の AJAX スクリプトがサーバー上の PHP スクリプトのテキスト コピーを返す理由についての手がかり。私が探しているJSON結果ではありませんか?
編集:
ブラウザで PHP スクリプトを指定すると、次のように返されます。
{"MaxTID":"1","MaxFID":null,"MaxSID":"3","MaxOID":"1"}