В настоящее время я тестирую функции AJAX с использованием последней версии Jquery и тестирую ее с использованием видеоисточников.Я пытаюсь сделать это с помощью кнопки, чтобы переключить текущий источник видео на новый.
Есть файл índex.php, который включает код PHP для генерации первого тега источника видео, и файл load-videos.phpс почти одинаковым кодом, единственными отличиями являются переменные AJAX, которые передаются из файла Jquery main.js.
$(document).ready(function(){
let count = 1;
$("#c-video").click(function(){
count = count + 1;
let video = "v" + count + ".mp4";
$.ajax({
url: video,
type: "get"
})
.done(function(){
var newData;
/*$.post("load-videos.php",{
nVideo: video
},
function(data){
if(data != newData)
newData = data;
$("video").html(newData);
});*/
$("video source").load("load-videos.php",{
nVideo: video
},
function(response,status,xhr) {
$("video source").replaceWith(response);
});
})
.fail(function(jqXHR, textStatus, errorThrown){
alert("Failed: File " + errorThrown);
});
});
});
Я использую функцию $ .ajax, чтобы проверить, существует ли файл, и внутри .done есть проблема, именно там я пытаюсь изменить содержимое <source>
из <video>
tag, и поэтому я сделал несколько попыток заставить его работать, используя $ .post, и load (), но оба пошли не так, потому что не было визуальных изменений в структуре страницы только в исходном коде.
Поэтому, если бы я попытался проверить код в Google Chrome, то, что появилось бы:
<source src="v1.mp4" type="video/mp4"> - If I click on button once
<source src="v2.mp4" type="video/mp4"> - If I click twice
Но, как я уже сказал, визуальных изменений не было, поэтому я всегда видел первое видео, представленное на странице каждый раз(первый источник выше).
Можете ли вы предложить мне способ сделать это?Потому что единственное, что загружает, это код на заднем плане.