我在数据库中使用这个小型JSON函数。
<script>
$(document).ready(function () {
var url = "Database.php";
$("#jsondata tbody").html("");
$.getJSON(url, function (data) {
$.each(data.users, function (i, user) {
var songdetails = "<p>"
+ "<p>" + user.Title + "</p>"
+ "<p>" + user.ArtistNumber + "</p>"
+ "<p>" + user.TrackTime + "</p>"
+ "<p>" + user.Composer + "</p>"
+ "<p>" + user.Lyricist + "</p>"
+ "</p>";
$(songdetails).appendTo("songlist");
});
});
});
</script>
这在浏览器中产生了这个,我不想要/不需要它。
{"users":[{"Title":"Anyway","ArtistNumber":"2","TrackTime":"167","Composer":"JohnGlaze","作词人":"Kellee玉米","文件位置":"公共/无论如何.mp3","分级":"0","分数":"[0,0,0,0]","免费":"零"},{"标题":"一Way Heartbeats","ArtistNumber":"4","TrackTime":"187","Composer":"BillBobs","作词人":"MichaelMcEachern","FileLocation":"public/OneWayHeartbeats.mp3","rated":"0","scores":"[0,0,0,0]","free":"0}",{"Title":"Parallel我","ArtistNumber":"3","TrackTime":"192","Composer":"相当革命","作词人":"相当Revolution","FileLocation":"private/PallelMe.mp3",《rated》:"0",《scores》:"[0,0,0,0]",《free》:"1"},{《Title》:"中毒Oxygen","ArtistNumber":"3","TrackTime":"177","Composer":"相当革命","作词人":"相当Revolution","FileLocation":"public/ConeedOxygen.mp3",《rated》:"0",《scores》:"[0,0,0,0]",《free》:"零"},{"Title":"Xmas《监狱蓝调》、《艺人编号》:"1"、《TrackTime》:"192"、《作曲家》:"Steve佩里","作词人":"史蒂夫Perry","FileLocation":"private/XmasPrisonBlues.wma","rated":"0","scores":"[0,0,0,0]","free":"1"}]}
有什么关于如何隐藏或删除它的想法吗?感谢
这是Database.php:
<?php
$Hostserver = "localhost";
$databUser = "ee2800";
$databPass = "secret";
$databDatabase = "ee2800";
$database = new mysqli ($Hostserver, $databUser, $databPass, $databDatabase);
if ($database) {
mysqli_select_db($database, "ee2800");
//echo ("Successfully connected to database!");
} else {
die ("<strong>Error:</strong> Failed to connect to the database.");
}
$var = array();
$sql = "SELECT * FROM songs";
$result = mysqli_query($database, $sql);
while ($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
echo '{"users":' . json_encode($var) . '}';
?>
使用jQuery 1.10.2歌曲列表元素在这里找到
<?php
// The system queries the database to obtain a result set containing no more than 10 artists //
if ($result = $database->query( "SELECT * FROM `artist` ORDER BY `artist`.`ArtistNumber` ASC LIMIT 10")) {
while ($row = $result->fetch_row()) {
echo "<div id='artist{$row[2]}'>";
echo "<p>Artist: {$row[0]} {$row[1]}</p>";
echo '<p><a href="#Songs" id="song' . $row[2] . '"><div id= songlist> </div> </a></p>';
//div tag 'songlist' adds all data from json and pastes into this div id //
// echo '<p><a href="#" id="songlist' . $row[2] . '">Songs</a></p>';
//onlick function echo'd anchor tag//
echo "</div>";
// Songs dont display onclick however retrieved data using jSON can't seem to target where to put the information //
}
}
$database->close();
?>
基本上,每当我运行这些文件时,我每次都会在浏览器中得到一个开头所说的长字符串作为响应。
您的PHP似乎返回了一个有效的json字符串,但它并没有自动转换为json对象,以便javascript将其作为对象进行处理。
您可以尝试将解析强制为类似以下的json对象
$.getJSON(url, function (data) {
data = $.parseJSON(data);
$.each(data.users, function (i, user) {