<script> $(window).on("load", $(document).ready( function() { var qidlist = <%=session.getAttribute("idList")%> var jsonFiles = []; // 问卷的JSON文件路径数组 for (let i = 0; i < qidlist.length; i++) { jsonFiles.push(`<%=request.getContextPath()%>/SurveyText/<%=session.getAttribute("userName")%>_json/`+ qidlist[i]+'.json'); console.log(jsonFiles[i]) } // 使用Ajax请求读取JSON文件 $.each(jsonFiles, function (index, jsonFile) { $.ajax({ url: jsonFile, type: "GET", dataType: "json", success: function (response) { // 解析问卷数据 var questionnaire = response; var qnTitle = questionnaire.qnTitle; var questions = questionnaire.questions; // 渲染问卷标题 renderQuestionnaireTitle(qnTitle, index); // 点击问卷标题显示内容 $(".questionnaire-number").on("click", function () { var clickedIndex = $(this).data("index"); if (clickedIndex === index) { displayQuestionnaireContent(questions); } }); }, error: function (xhr, status, error) { console.error("请求失败:" + error); }, }); }); }))优化这段代码使得每次从其他页面跳转进入这段代码所在页面时,这段代码能够运行
时间: 2024-02-10 09:10:31 浏览: 73
JQ中$(window).load和$(document).ready区别与执行顺序
可以将这段代码封装成一个函数,并在页面加载时调用该函数。例如:
```
function loadQuestionnaires() {
var qidlist = <%=session.getAttribute("idList")%>;
var jsonFiles = []; // 问卷的JSON文件路径数组
for (let i = 0; i < qidlist.length; i++) {
jsonFiles.push(`<%=request.getContextPath()%>/SurveyText/<%=session.getAttribute("userName")%>_json/`+ qidlist[i]+'.json');
console.log(jsonFiles[i])
}
// 使用Ajax请求读取JSON文件
$.each(jsonFiles, function (index, jsonFile) {
$.ajax({
url: jsonFile,
type: "GET",
dataType: "json",
success: function (response) {
// 解析问卷数据
var questionnaire = response;
var qnTitle = questionnaire.qnTitle;
var questions = questionnaire.questions;
// 渲染问卷标题
renderQuestionnaireTitle(qnTitle, index);
// 点击问卷标题显示内容
$(".questionnaire-number").on("click", function () {
var clickedIndex = $(this).data("index");
if (clickedIndex === index) {
displayQuestionnaireContent(questions);
}
});
},
error: function (xhr, status, error) {
console.error("请求失败:" + error);
},
});
});
}
$(document).ready(function() {
loadQuestionnaires();
});
$(window).on("load", function() {
loadQuestionnaires();
});
```
这样,无论是在页面加载时还是在页面跳转后重新加载,都会运行 `loadQuestionnaires()` 函数,从而加载问卷数据。
阅读全文