Существуют ли разные стили ajax? - PullRequest
0 голосов
/ 05 января 2020

Я новичок в использовании ajax, но в целом я добился успеха. Большинство моих ajax вызовов выглядят очень похоже на это:

function saveQueryProf(){    
    var currentDate = new Date();
    var date=currentDate.getDate()+'/'+(currentDate.getMonth()+1)+'/'+currentDate.getFullYear();

            $.ajax({
            type: "POST",
            url: "API.php",
            data: { method: "createQueryProfile",
                    prof_name: $('#nameTxt').val(), 
                    prof_SQL: $('#sqlTxt').val(),
                    date: date

                  },
            datatype: "json"

        }).done(function(returnresult) {
        })
}

Использование $. ajax ({метод. Однако, всякий раз, когда я вижу кого-то, использующего "ajax" на YouTube или другом сайтов, их код выглядит примерно так:

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     document.getElementById("demo").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "ajax_info.txt", true);
  xhttp.send();
}

Я понимаю, что они делают разные вещи, но в чем разница между этими двумя? И когда я ищу ответы в Интернете, как я могу найти ответь, что больше похоже на первый стиль?

Ответы [ 4 ]

1 голос
/ 06 января 2020

Я видел, что на вопрос уже дан ответ, но я думаю, что можно добавить больше информации.

В первом примере вы используете jQuery ($.ajax call). Вам нужно будет добавить эту библиотеку на ваш сайт, чтобы она заработала. Самый простой способ - добавить тег с jQuery CND на ваш сайт.

Второй пример использует ваниль JavaScript, XMLHttpRequest. У него более сложный синтаксис (странная смесь прописных и строчных букв), но вам не нужно ничего добавлять на сайт. Он сделает всю работу, и как только вы привыкнете к синтаксису, это может быть все, что вам нужно.

Третий вариант, который я использовал для запроса AJAX, - это метод fetch(). Как и XMLHttpRequest, он встроен в язык JavaScript. fetch() имеет очень простой синтаксис и позволяет легко использовать обещания. Вам могут потребоваться обещания, если вы будете делать запросы, которые не будут возвращать данные немедленно. Вот дополнительная информация о получении: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

Четвертый вариант, который я использовал для AJAX, это библиотека Ax ios. Если вы включаете jQuery только для AJAX запросов, возможно, лучше использовать Ax ios. Подробнее читайте по Ax ios: https://github.com/axios/axios

Если вы хотите больше узнать о различиях и плюсах / минусах между fetch() и XMLHttpRequest, взгляните на этот поток: API Fetch vs XMLHttpRequest

1 голос
/ 05 января 2020

Первый пример, использующий $.ajax(), задается от c до jQuery. Это намного проще, чем встроенный Javascript API, XMLHttpRequest. XMLHttpRequest не требует использования внешних библиотек, хотя это сложнее. $.ajax() полагается на XMLHttpRequest.

1 голос
/ 05 января 2020

Для работы вашего кода требуется библиотека jQuery (отсюда $ и $.ajax). Их код использует XMLHttpRequest напрямую, который встроен в JavaScript, поэтому ему не нужны никакие библиотеки. Если вы хотите, чтобы ваш AJAX код зависел от jQuery, просто включите его в качестве поискового запроса.

0 голосов
/ 05 января 2020

Вскоре Ajax - это метод расширения, который определен в JQuery для фабричного класса XmlHttpRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...