我想创建一个动态列表组,其中包含在页面加载时加载的列表组项目。列表组项目取自数据库。 php 函数返回一个类(class)数组(此操作成功)。我使用 Javascript 获取此数组,对其进行 JSON 编码并在列表组中显示项目,但 Javascript 代码无法正常工作。我用过<body onload="get_courses()">
但这不适用于页面加载。但是,如果我使用 <body onload="alert('test');">
,它有效,但函数内的警报不起作用。
我的代码如下。我在同一个 html 文件中有 Javascript 代码。
javascript
<script type="text/javascript">
function get_courses(){
var service = <?php echo json_encode(get_course_list($userID)); ?>;
var course_array = JSON.parse(service);
var index;
var ul = document.getElementById("course_list");
for (index=0; index<course_array.length; index++){
var li = document.createElement("a");
li.appendChild(document.createTextNode(course_array[index]));
ul.appendChild(li);
}
}
</script>
html
<body onload="get_courses()">
<form action="../../controller/progressTeacherControl.php" method="get">
<div class="box-body">
<div class="list-group" id="course_list">
<!--a href="#" class="list-group-item">This would be a generated course name</a-->
</div>
</div>
</form>
</body>
progressTeacherControl.php 是定义 php 函数 get_course_list() 的地方。 解决此问题的任何帮助将不胜感激。
最佳答案
如果您在那里打印 JSON,那么它已经是适合 JavaScript 的格式。它将打印为文字数组。
因此删除 JSON.parse()
。
关于Javascript 函数不会在页面加载时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34843385/