gpt4 book ai didi

javascript - ajax 调用后重新加载脚本

转载 作者:行者123 更新时间:2023-11-29 23:46:45 26 4
gpt4 key购买 nike

我使用 Plangular,这是一个使用 Angular JS 和 Soundcloud API 来播放一些歌曲的指令。当然需要Soundcloud jdk、angular及其js。

然后我尝试以这种方式通过 ajax 在 div 中动态加载外部内容:

$(document).ready(function(){
$("body").on('click', '#chart_best',function(){
$.ajax({url: "chart_best.html", success: function(result){
$(".container").html(result);
}});
});
$("body").on('click', '#chart_best_indie_pop',function(){
$.ajax({url: "chart_best_indie_pop.html", success: function(result){
$(".container").html(result);
}});
});
$("body").on('click', '#chart_best_punk',function(){
$.ajax({url: "chart_best_punk.html", success: function(result){
$(".container").html(result);
}});
});
});

新内容加载正确,但简单播放器不工作。听起来它需要在 ajax 调用后重新加载 JS。我尝试使用 .live 但它不起作用。还尝试删除脚本并通过 $.getScript() 重新加载它们,但播放器仍然无法正常工作。我在这个项目中复制了这个问题:https://codepen.io/GoingSolo/project/editor/DNVyJD/如果您单击左侧列表以加载新内容,播放器将停止工作。在我的 ajax 调用之后重新加载 Plangular 需要工作的所有脚本的最佳方式是什么?

最佳答案

对于任何对我如何解决这个问题感兴趣的人,基本上,按照建议,我将我的 ajax 调用更改为 angularjs $http,如下所示:

gsplayer.controller('SearchBar', function($scope, $http) {

$scope.chart_best = function() {
$scope.dataLoaded = false;
$http.get("../themes/replay/chart_best.php").then(function (response) {
$scope.myData = response.data;
$scope.chartTitle = "Top 20 Tracks";
$scope.dataLoaded = true;
});
};

$scope.chart_best_indie_pop = function() {
$scope.dataLoaded = false;
$http.get("../wp-content/themes/replay/chart_best_indie_pop.php").then(function (response) {
$scope.myData = response.data;
$scope.chartTitle = "Best Indie Pop Tracks";
$scope.dataLoaded = true;
});
};

$scope.chart_best_punk = function() {
$scope.dataLoaded = false;
$http.get("../wp-content/themes/replay/chart_best_punk.php").then(function (response) {
$scope.myData = response.data;
$scope.chartTitle = "Best Punk Tracks";
$scope.dataLoaded = true;
});
};
});

然后我不得不重写三个 php 页面,以便以 json 格式检索所需的数据并访问 myData

关于javascript - ajax 调用后重新加载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43712303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com