У меня есть php-файл, который эхо-код HTML с элементом <script>
. как это:
Выполнение javascript через ajax
<div>
<button onclick="FunctionName();">Click Me</button>
</div>
<script type="text/javascript" id="script1">
function FunctionName() {
/* block of code here */
}
</script>
<script type="text/javascript" id="script2">
alert("working")
</script>
Я вставив этот код с помощью метода innerHTML. Тем не менее, я понял, что DOM вставляется <script>
тег не начал выполняться, если не называть это так:
eval(document.getElementById('script1').innerHTML);
eval(document.getElementById('script2').innerHTML);
Теперь проблема заключается в следующем: Скрипт2 выполняется, и это делает предупреждение, что говорит: «работает », но когда я нажимаю на кнопку возвращает консольных эту ошибку:
Uncaught ReferenceError: FunctionName is not defined
И странная часть, когда я копировать/вставить один и тот же код JavaScript, поместите его внутри Eval(); и введите его в консоль, он отлично работает!
так почему это происходит и как его решить?
Почему вы пытаетесь загрузить скрипт через AJAX? – Huey
У вас есть jQuery? В этом случае вы можете использовать [getScript] (https://api.jquery.com/jquery.getscript/) functoin – Max