Код Jquery не выполнен, хотя загружен

#jquery #flask

#jquery #flask

Вопрос:

У меня есть приложение flask, которое отображает html-шаблон, включающий код jquery:

 <script type=text/javascript src="{{ url_for('static', filename='jquery- 
 3.3.1.min.js') }}">
 console.log("hi yah")
  $(document).ready(function() {
    $.ajax({url: "http://localhost/check", success: function(result){
      $("#div1").html(result);
    }});
  });
</script>
  

Однако, независимо от того, как я включаю jquery в html, код не выполняется. Но когда я проверяю сетевую вкладку Google Chrome, я вижу, что jquery загружен.

Это работает:

 <script>
console.log("Hello World")
</script>
  

Если я запущу этот код:

 <script>
console.log("hi yah")
$(document).ready(function() {
  $.ajax({url: "http://localhost/check", success: function(result){
    $("#div1").html(result);
  }});
 });
</script>
  

Я получаю эту ошибку:

Неперехваченная ошибка ссылки: $ не определен в (индекс):37

Комментарии:

1. Ошибка означает, что jQuery не был загружен. Вы, очевидно, добавили script ссылку на него, поэтому я бы предположил, что путь указан неверно.

2. @RoryMcCrossan Прав, но когда я использую первый фрагмент кода, ничего не происходит, даже console.log («Привет, мир») не выполняется.

3. Это противоположно тому, что указано в вашем вопросе ..?

Ответ №1:

Попробуйте разделить ваши <script> теги. Есть один <script> для извлечения кода jQuery, а другой для вашего собственного кода JavaScript, подобного этому:

 <script type="text/javascript" src="{{ url_for('static', filename='jquery-3.3.1.min.js') }}"></script>
<script>  
  $(document).ready(function() {
    $.ajax({url: "http://localhost/check", success: function(result){
      $("#div1").html(result);
    }});
  });
</script>
  

Если это не сработает, значит, ваш путь к файлу для извлечения файла jQuery неверен, и в этом случае вы можете просто сделать это:
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>

Кроме того, убедитесь, что вы заключили тип вашего скрипта в кавычки: type="text/javascript"

Комментарии:

1. по-прежнему не работает, хотя jquery загружен, я проверил в сетевой консоли Google Chrome.

2. Означает ли это, что «не работает», что вы получаете ошибки в консоли или HTML-элемент не обновляется?