javascript ajax - plugin - get,post,jquery

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript ajax - plugin - get,post,jquery相关的知识,希望对你有一定的参考价值。

var req;
var elem;
//!!! - ГЛОБАЛЬНАЯ (т.к. для post_send(get_send) и func_response) elem - ЭЛЕМЕНТ ДЛЯ ВЫВОДА
//################################################# ФОРМИРОВАНИЕ И ОТПРАВКА POST
//!!!ВЫЗОВ - например, post_send(elemm, 'function.php', ['param'], [param.value])//onclick="post_send('tbody', 'function.php', ['search_what'], [search_what.value])"
                                                                             //onclick="post_send('download-search', 'form-dowload.php', [], []);" - просто передача страницы целиком
function post_send(elemm, program, param_arr, value_arr) {                   //!!! - элемент - elemm - id, скрипт - program, массивы - param_arr, value_arr
  elem = elemm;                                                              //!!! - поступивший elemm присваиваем глобальному elem
  req = new XMLHttpRequest();                                                // ПЕРВЫЙ ЭТАП - создаем объект XMLHttpRequest()
  req.open('POST', program, true);                                           // ВТОРОЙ ЭТАП – создаем запрос POST– запрос
                                                                             //создаем - POST – запрос, program - выполняемый POST- скрипт php, true – асинхронная передача (false - синхронная – до получения ответа от сервера пользователь ничего не сможет сделать на странице – поэтому применяется крайне редко)
                                                                             // !!! - скрипт - program
  req.onreadystatechange = func_response;                                    // ТРЕТИЙ ЭТАП – инициализируем функцию приема результата (в т.ч. – проверки при приеме)
                                                                             //!!! - инициализация функции проверки и приема// func_response – задание функции проверки и получения ответных данных (отрабатывается позже)
  req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); // ЧЕТВЕРТЫЙ ЭТАП – добавляет http-заголовок (только для POST!!!)
                                                                             //!!! - заголовок
  var str = '';                                                              //!!! - начальный str=''
  for (var i = 0; i < param_arr.length; i++) {                               //!!! - массивы - перебор
    // ПЯТЫЙ ЭТАП – «упаковываем» (создаем) http - запрос
    // отправляемые входные данные необходимо «упаковать» в строку типа http
    str += param_arr[i] + '=' + encodeURIComponent(value_arr[i]) + '&';      //!!! - накапливаем str
  }
  req.send(str);                                                             // ШЕСТОЙ ЭТАП – передаем запрос POST на сервер
                                                                             //!!! - отправка
}
//################################################# ФОРМИРОВАНИЕ И ОТПРАВКА GET
//!!!ВЫЗОВ - например, get_send(elemm, 'function.php', ['param'], [param.value])
function get_send(elemm, program, param_arr, value_arr) {                  //!!! - элемент - elemm, скритпт - program, массивы - param_arr, value_arr
  elem = elemm;                                                            //!!! - поступивший elemm присваиваем глобальному elem
  req = new XMLHttpRequest();
  var str = '?';                                                           //!!! - начальный str='?'
  for (var i = 0; i < param_arr.length; i++) {                             //!!! - массивы - перебор
    str += param_arr[i] + '=' + encodeURIComponent(value_arr[i]) + '&';    //!!! - накапливаем str
  }
  req.open('GET', program + str, true);                                    //!!! - скритпт - program + str
  req.onreadystatechange = func_response;                                  //!!! - инициализация функции проверки и приема
  req.send();                                                              //!!! - отправка
}
//################################################# ФОРМИРОВАНИЕ И ОТПРАВКА jQuery
//!!!ПРИ ИСПОЛЬЗОВАНИИ ПОДКЛЮЧИТЕ jQuery!!!
//!!!ВЫЗОВ - jquery_send(elemm, 'post', 'function.php', ['param'], [param.value])
function jquery_send(elemm, method, program, param_arr, value_arr) {
  var str = '';                                                                //!!! - начальный str=''
  for (var i = 0; i < param_arr.length; i++) {                                 //!!! - массивы - перебор
    str += param_arr[i] + '=' + encodeURIComponent(value_arr[i]) + '&';        //!!! - накапливаем str
  }
  $.ajax({
    type: method, url: program, data: str, success: function (data) {
      $(elemm).html(data);
    } //!!! - ВЫВОД В ЭЛЕМЕНТ ТУТ - function(data){$('elemm').html(data);
  });
}
//################################################# ПРИЕМ ОТ СЕРВЕРА И ВЫВОД В ЭЛЕМЕНТ
function func_response() {                                                 //!!! - функция проверки и приема
  // ПЕРВЫЙ ЭТАП – проверка кода готовности сервера и кода ответа сервера
  if (req.readyState == 4 && req.status == 200) {                          //!!! - проверка условий "успех"// свойство readyState - код готовности сервера, значение 4 – «обработка запроса» (первое стандартное условие для получения ответа)
    // свойство status – код ответа сервера, значение 200 – «запрос обработан успешно» (второе стандартное условие для получения ответа)
    elem_r = document.getElementById(elem);                                //!!! - получаем элемен для вывода// ВТОРОЙ ЭТАП – получение ответа сервера
    elem_r.innerHTML = req.responseText;                                   //!!! - ВЫВОД В ЭЛЕМЕНТ (переданный в post_send(get_send) elemm)
                                                                           // свойство responseText – получение ответа сервера в виде строки и вывод
  }
}

以上是关于javascript ajax - plugin - get,post,jquery的主要内容,如果未能解决你的问题,请参考以下文章

Caused by: java.nio.file.NoSuchFileException: /Volumes/software/elasticsearch-6.4.3/plugins/ik/plugi

怎样解决this version of android studio is incompatible with the gradle plugi

JavaScript, Ajax - 为啥 JavaScript 代码上的 Ajax 函数不能正常运行?

使用 pyinstaller 将 python 文件转换为 .exe 给出: This application failed to start because no Qt platform plugi

Maven error in eclipse (pom.xml) : Failure to transfer org.apache.maven.plugins:maven-surefire-plugi

JavaScript之Ajax-1 Ajax(Ajax原理Ajax对象属性和方法)