【发布时间】:2016-09-14 02:57:20
【问题描述】:
我有两个文件,test.html 和 test.php。我想通过 jQuery AJAX 显示 SQL 查询的结果。
test.php 输出正确的 JSON,但我无法在单击“获取数据”按钮时获取相同的内容。使用 AJAX 的方式不对吗?
获取test.html中的数据后,如何访问内容?
test.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$ajax({
url:'test.php',
type:'get',
dataType:'json',
success:function(data){
alert(data);
console.log(data['success']);
console.log(data.success);
}
});
});
});
</script>
</head>
<body>
<button>Fetch Data</button>
</body>
</html>
test.php
<?php
$dbuser="root";
$dbname="test";
$dbpass="root";
$dbserver="localhost";
// Make a MySQL Connection
$con = mysql_connect($dbserver, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
// Create a Query
$sql_query = "SELECT ID, UserName, Status FROM user_details1";
// Execute query
$result = mysql_query($sql_query) or die(mysql_error());
$jsonArray = array();
while ($row = mysql_fetch_array($result)){
$jsonArrayItem = array();
$jsonArrayItem["ID"] = $row["ID"];
$jsonArrayItem["UserName"] = $row["UserName"];
$jsonArrayItem["Status"] = $row["Status"];
array_push($jsonArray, $jsonArrayItem);
//echo '<option value='. $row['id'] . '>'. $row['login'] . '</option>';
}
mysql_close($con);
$tableData = array(
"data" => $jsonArray
);
header('Content-Type: application/json');
echo json_encode($tableData,JSON_UNESCAPED_SLASHES);
die();
?>
如何显示/访问/打印获取的结果内容(AJAX 部分)?
【问题讨论】:
-
错过了 $ 和 ajax
$ajax({...之间的一个点。应该是$.ajax({... -
以后,您应该使用适用于您的浏览器的开发者工具(例如 firebug)来调试这些类型的问题。
-
@Mr.Engineer 我不相信任何地方都有额外的
}。 @Kosmos 是正确的,因为它必须是$.ajax而不是$ajax。 -
@TylerRoper 你们俩都是对的。
-
另外,如果您只是在学习,那么您可能想知道
mysql_*函数已被弃用(甚至可能删除)在 PHP 中。您应该学习使用mysqli_*(或 PDO)函数。
标签: php jquery html mysql ajax