@gromyko21

Почему получаю ошибку Uncaught TypeError: $.ajax is not a function?

Всем привет. Получаю ошибку в скрипте. Гуглил, все пишут, что ошибка из-за slim библиотеки, у меня же
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


Пытаюсь отработать вот этот скрипт
<script src="{% static 'js/reconnecting-websocket.js' %}"></script>
    <script>

function selectFile() {
	e = document.getElementById('upload')
  if(e.files[0]) {
    let item = e.files[0];
    let filesize = item.size;
    let filesizeMB = (filesize / (1024 * 1024)).toFixed(2);
    if (filesizeMB >= 3) {
      alert('Максимальный размер фотографии 3 мб');
    } else {
      let form = new FormData();
      form.append('image_message', item);
      form.append('room_id', {{ room_name_json }});
      form.append('user_id', {{ username }});
        $.ajax({
            url: '/chat/upload/',
            type: "POST",
            data: form
        });
    }
  } else {
    alert('Файл не найден');
  }
}
</script>

Если просто вводить console.log($.ajax); он его находит function ajax(t, n)
Как можно исправить?
  • Вопрос задан
  • 851 просмотр
Пригласить эксперта
Ответы на вопрос 2
mmmaaak
@mmmaaak
Возможно функция вызывается раньше, чем подключается $
Ответ написан
@Absolute138
Замените
$.ajax({
            url: '/chat/upload/',
            type: "POST",
            data: form
        });

На
jQuery.ajax({
            url: '/chat/upload/',
            type: "POST",
            data: form
        });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы