提问人:Kavishka Rajapakshe 提问时间:12/1/2022 更新时间:12/1/2022 访问量:25
Ajax 调用不会导航到新视图
Ajax call won't navigate to a new view
问:
我使用 codeigniter 3 创建了一个应用程序,它使用模型获取存储在 SQL 数据库中的测验,并使用 ajax 和 jquery 填充视图。 下面是用于在 div 中填充数据的代码。
$(document).ready(function() {
$.ajax({
url: "/CW2/ASSWDCW2/cw2app/index.php/Leaderboard/quiz",
method: "GET",
dataType: "json"
}).done(function(data) {
$('#modtable tr').remove(); // clear table for new result
var quizzes = data.allQuizzes;
alert(quizzes.length);
var i;
for (i = 0; i < quizzes.length; i++) {
quiz = quizzes[i];
var block = ' <div id="quizMainBox"><h1>' + quiz.quizName + '</h1><br/><h3>' + quiz.creatorName + '<button onclick="myFunction(\''+quiz.quizId+'\')">Try it</button>'+'</h3></div>'
$('#allQuizBox').append(block);
}
});
return false;
// });
});
我想做的是,当用户单击“尝试”按钮时,我希望用户使用测验ID被定向到“single_quiz_view”。所以我在上面的代码下面写了这个ajax函数(myFunction)。
function myFunction(quizId) {
// console.log("heyyyy");
// document.getElementById("demo").innerHTML = "Welcome"+quizId ;
$.ajax({
url: "/CW2/ASSWDCW2/cw2app/index.php/Quiz/loadQuiz/",
method: "POST",
}).done(function(data) {
alert("heyyy")
});
return false;
}
其中 Quiz 是控制器名称,loadQuiz 是调用“single_quiz_view”的函数
测验控制器
public function loadQuiz()
{
// $quizId = $this->uri->segment(3);
$this->load->view('quiz/single_quiz_view');
}
我的问题是,
当我单击“尝试按钮”时,我在完成功能中得到了 alertBox。我得到的状态代码为 200,但仍然无法导航到“single_quiz_view”。控制台不会给出任何错误。请帮忙
答: 暂无答案
评论
<button onclick="myFunction(\''+quiz.quizId+'\')">...
<a href="/path/to/single_quiz_view/QUIZ_ID">Try it</a>
window.location.href = my.new.endpoint