这个问题与我上面的问题有关。我将 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"}