Uncaught TypeError: $ .ajax не является функцией | При использовании самой последней полной версии JQuery

Оператор == проверяет, указывают ли две ссылки на один и тот же объект или нет. .equals() проверьте фактическое содержимое строки (значение).

Обратите внимание, что метод .equals() принадлежит классу Object (суперкласс всех классов). Вам необходимо переопределить его в соответствии с вашим требованием к классу, но для String оно уже реализовано и проверяет, имеет ли две строки одно и то же значение.

  • Случай 1
    String s1 = "Stack Overflow";
    String s2 = "Stack Overflow";
    s1 == s2;      //true
    s1.equals(s2); //true
    
    Причина: строка литералы, созданные без нуля, хранятся в пуле строк в области перментонов кучи. Таким образом, оба s1 и s2 указывают на один и тот же объект в пуле.
  • Случай 2
    String s1 = new String("Stack Overflow");
    String s2 = new String("Stack Overflow");
    s1 == s2;      //false
    s1.equals(s2); //true
    
    Причина. Если вы создаете объект String с использованием ключевого слова new, ему выделяется отдельное пространство в куче.
1
задан Dheeraj Kumar 10 March 2019 в 12:47
поделиться

3 ответа

Мое значение $ было перезаписано, и по какой-то причине оно не работало, когда я использовал jQuery.ajax. Вот почему я подумал, что весь этот jQuery не работает. Я закончил тем, что использовал решение @Louys Patrice Bessette, используя .noConflict ()

Это оказалось моим решением:

<!-- JQuery -->
<script type="text/javascript" src="{% static 'home/jquery.js' %}"></script>

<script>
var $j = jQuery.noConflict();
</script>

А затем я ссылался на ajax с помощью $ j.ajax [ 113]

0
ответ дан M.Mario 10 March 2019 в 12:47
поделиться

Я не совсем уверен, чего именно вы пытаетесь достичь, но я думаю, что способ, которым вы ссылались на источник jquascript jquery, может быть там, где началась ваша проблема. <script type="text/javascript" src="path/to/your/jquery.js"></script> должно быть хорошо для вас. Или лучше использовать CDN (Content Delivery Network), если вы разрабатываете с компьютера, подключенного к Интернету. С CDN все, что вам нужно сделать, это указать путь таким образом <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>. Пока jquery полностью загружен и нет конфликтов с другими сценариями, вы можете использовать функцию ajax по желанию. Дайте мне знать, если это поможет.

0
ответ дан Nicholas Mberev 10 March 2019 в 12:47
поделиться

Наилучшая практика для решения этой проблемы с использованием JavaScript IIFE (выражение для немедленного вызова функции)

 (function($) {
    $.ajax({
    //your ajax request
    });
  })(jQuery);

Вы можете написать это в готовом документе

 (function($) {
    $(document).ready(function(){
      $.ajax({
      //your ajax request
      });
    });
 })(jQuery);
0
ответ дан Tharindu Wickramasinghe 10 March 2019 в 12:47
поделиться
Другие вопросы по тегам:

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