Есть ли способ обрабатывать скрипты, загружаемые через Ajax вызовы страницы? Я не хотел бы загружать те, которые уже загружены в первую очередь базовой страницей, поскольку они находятся в конфликте.
Это решение для создания нескольких страниц, одна для обычного вызова (со сценариями), одна для ajax единиц (без дублирующих скриптов)?
Пример:
base_page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
</head>
<body>
<div id="ajax_page"> </div>
<div id="other_ajax_call"> </div>
<div id="second_result"> </div>
</script>
$(document).ready(function(){
$.ajax({
url: '/ajax_page',
type: 'GET',
success: function (result) {
$('#ajax_page').html(result)
}
});
});
$( "#other_ajax_call" ).on( 'click', function() {
$.ajax({
url: '/another_page',
type: 'GET',
success: function (result) {
$('#second_result').html(result)
}
});
});
</script>
</body>
</html>
ajax_page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
</head>
<body>
<div id="ajax_second_page"> </div>
</script>
$(document).ready(function(){
$.ajax({
url: '/a_third_page',
type: 'GET',
success: function (result) {
$('#ajax_second_page').html(result)
}
});
});
</script>
</body>
</html>
В этом примере на 'base_page' я загружаю через Ajax 'ajax_page', который сам использует Ajax (эта страница обычно вызывается без Ajax и, следовательно, потребуется сохранить скрипт).
Проблема в том, что когда это сделано, сценарии jquery конфликтуют, и второй ajax вызов 'base_page' (для "#other_ajax_call") не работает, и я получаю следующее исключение:
Uncaught TypeError: $. ajax не является функцией
Это перепечатка вызова Ajax - страница загрузки сценарий только в том случае, если его нет на базовой странице , которая была закрыта, поскольку я сначала не указал достаточно подробностей, и мой вопрос был недостаточно ясен, и у меня нет возможности открыть его снова.