【发布时间】:2014-10-04 15:46:43
【问题描述】:
这接近于典型的异步/getJSON 主题。我似乎无法让我的工作......我正在从 mySQL 数据库中加载一个 php 文件“loadblocks.php”中的数组,并通过运行页面并执行 echo json_encode($内容);。所有数据都 100% 完美地打印到浏览器。但是,当我在 Javascript 中调用 json 数据时......一旦我点击带有我的 onclick 事件的链接,页面就没有响应。
<?php
$con=mysqli_connect("localhost","root","password","swim");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM blocks");
$content = array(); // initialize block viewer array
if($result){
while($row = mysqli_fetch_assoc($result)) {
$content[$row["id"]] = $row; // "id" is primary key id's
}
}
echo json_encode($content); // return array (validated)
mysqli_close($con);
?>
然后我的 HTML 文件中有以下内容...我需要从 mySQL 数据库加载这个“块”数据的多维数组。本质上,我需要在打开此“块查看器”html/javascript 页面时执行此操作,并将 php 变量“$content”中的所有数据读取到多维数组中每一行的文字“块”中。每行包含一种教育课程要求、照片链接等...我的 HTML/jscript 如下:
<html>
<head>
<script>
function loadblocks() {
$("#selectable").selectable({
disabled: true
}); // disable selectable while re-loading blocks in "selectable" viewer
$.getJSON('loadblocks.php', data, function(jsonarray) {
// store jsonarray once it is loaded in here
blockarray = jsonarray;
// in MySQL each row = (id, blocktype, title, description, imgurl, img2url, img3url, vidurl, goal1, goal2, goal3)
// Thus index #3 in each row is the "title" we will load in each box for now
// todo - create loop to load all rows
document.getElementById("selectable").innerHTML += "<li class='ui-state-default'>" + blockarray[0][3] + "</li>";
})
$(".selectable").selectable({disabled: false}); // re-enable
}
</script>
</head>
<body>
<table class="floatboxstyle" style="width:675px; height:225px;">
<tr>
<td>
<ol id="selectable">
<li class="ui-state-default">Sample block</li>
</ol>
</td>
</tr>
</table>
<button onclick="loadblocks()">Load Blocks</button>
<br>
<p id="feedback">
<span>You've selected:</span> <span id="select-result">none</span>
</p>
</body>
</html>
【问题讨论】:
-
调用getJson时不需要解析JSON。它知道它是 json 并相应地解析它。
-
更新的 HTML 代码.... 仍然无法正常工作。这更像是我的实际“阻止”查看页面的粗略草图
标签: javascript php mysql json getjson