Понимание Ajax

Wireshark не делает перенаправления портов, но осуществляет сниффинг и интерпретирует много протоколов.

8
задан Achilles 29 September 2009 в 19:28
поделиться

5 ответов

Вот короткая и приятная версия.

  1. Нет, но на самом деле это единственный язык, который поддерживается широким спектром браузеров. Если вас интересует только IE, вы можете использовать VBScript, но это не требует дополнительных усилий, чтобы использовать JS и получить более широкую поддержку, поэтому почти все используют JS.

  2. AJAX не так сложен, как кажется. Вкратце, это клиентский код, который запускается в браузере для изменения текущей страницы. макет или контент на основе данных, которые он запрашивает с веб-сервера с помощью объекта XMLHttpRequest.

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

Вот простой сценарий "Hello World" с использованием AJAX:

<script type="text/javascript">
var http = createRequestObject();
function createRequestObject() {
    var objAjax;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        objAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        objAjax = new XMLHttpRequest();
    }
    return objAjax;
}

function getNewContent(){
http.open('get','newcontent.txt');
http.onreadystatechange = updateNewContent;
http.send(null);
return false;
}

function updateNewContent(){
if(http.readyState == 4){
document.getElementById('mySentence').innerHTML = http.responseText;
}
}
</script>

Источник: http://www.openhosting.co.uk/articles/webdev/5899/

Последнее осложнение анализирует то, что вы получаете от сервера, в подходящую форму, с которой может работать код. Наиболее распространенные опции:

  • JSON: Легко анализирует объекты с помощью функции EVAL в JavaScript. поэтому большинство людей используют фреймворк, который абстрагирует большую часть этого.

    Вот простой скрипт «Hello World» с использованием AJAX:

    <script type="text/javascript">
    var http = createRequestObject();
    function createRequestObject() {
        var objAjax;
        var browser = navigator.appName;
        if(browser == "Microsoft Internet Explorer"){
            objAjax = new ActiveXObject("Microsoft.XMLHTTP");
        }else{
            objAjax = new XMLHttpRequest();
        }
        return objAjax;
    }
    
    function getNewContent(){
    http.open('get','newcontent.txt');
    http.onreadystatechange = updateNewContent;
    http.send(null);
    return false;
    }
    
    function updateNewContent(){
    if(http.readyState == 4){
    document.getElementById('mySentence').innerHTML = http.responseText;
    }
    }
    </script>
    

    Источник: http://www.openhosting.co.uk/ article / webdev / 5899 /

    Последняя сложность - это синтаксический анализ того, что вы получаете от сервера, в подходящую форму, с которой может работать код. Наиболее распространенные опции:

    • JSON: Легко анализирует объекты с помощью функции EVAL в JavaScript. поэтому большинство людей используют фреймворк, который абстрагирует большую часть этого.

      Вот простой скрипт «Hello World» с использованием AJAX:

      <script type="text/javascript">
      var http = createRequestObject();
      function createRequestObject() {
          var objAjax;
          var browser = navigator.appName;
          if(browser == "Microsoft Internet Explorer"){
              objAjax = new ActiveXObject("Microsoft.XMLHTTP");
          }else{
              objAjax = new XMLHttpRequest();
          }
          return objAjax;
      }
      
      function getNewContent(){
      http.open('get','newcontent.txt');
      http.onreadystatechange = updateNewContent;
      http.send(null);
      return false;
      }
      
      function updateNewContent(){
      if(http.readyState == 4){
      document.getElementById('mySentence').innerHTML = http.responseText;
      }
      }
      </script>
      

      Источник: http://www.openhosting.co.uk/ article / webdev / 5899 /

      Последняя сложность - это синтаксический анализ того, что вы получаете от сервера, в подходящую форму, с которой может работать код. Наиболее распространенные опции:

      • JSON: Легко анализирует объекты с помощью функции EVAL в JavaScript. Хорошо для получения информации об одном объекте с несколькими атрибуты.

      • XML: Несколько легко анализирует с помощью методов DOM, встроенных в JS, но сложнее, чем JSON. Если вам нужен гораздо больше контроля или хотите использовать XSLT трансформируется, это достойный вариант. Теоретически это можно было бы считать немного более безопасным, поскольку он не требует прохождения произвольных строки в EVAL, которые могли бы выполнить вредоносный код на стороне клиента, но это спорно

      • неструктурированных текст:. Если вы просто хотите одно значение назад, другой два метода могут быть немного излишними.

8
ответ дан 5 December 2019 в 15:25
поделиться

AJAX обычно используется для обмена данными между клиентской и серверной сторонами, и, конечно же, наоборот.

Развитие AJAX идет рука об руку с появлением Open Source, «социальной» сети и быстро расширяющейся сети разработчиков, как любителей, так и профессионалов. Это, в свою очередь, вызвало разработку многих фреймворков JavaScript ( jQuery , Prototype , Mootools , Glow и т. Д.), Которые по существу удаляют или по крайней мере, очень хорошо замаскируйте те "нюансы", о которых вы упомянули.

AJAX - это не просто клиентский сценарий, взаимодействующий со сценарием на стороне сервера. XHTML и CSS для представления, объектная модель документа для динамического отображения и взаимодействия с данными, XML и XSLT (а в последнее время - JSON ) для обмена, манипулирования и отображения данных, соответственно, объект XMLHttpRequest для асинхронной связи и, наконец, JavaScript для объединения этих технологий ( wikipedia ).

AJAX / JavaScript - не единственное решение на стороне клиента, другие известные решения, такие как, например, Java и Flash, по-прежнему актуальны. Но JavaScript, по большей части, широко поддерживается всеми современными браузерами, и действительно, движки JavaScript этих браузеров быстро набирают скорость, открывая гораздо больше возможностей для беспрепятственного взаимодействия между интерфейсом и сервером.

Надеюсь, я не слишком много болтаю, спросили вы;)

объект XMLHttpRequest для асинхронной связи и, наконец, JavaScript, чтобы объединить эти технологии ( википедия ).

AJAX / JavaScript - не единственное решение на стороне клиента, другие известные решения, такие как, например, Java и Flash, по-прежнему актуальны. Но JavaScript, по большей части, широко поддерживается всеми современными браузерами, и действительно, движки JavaScript этих браузеров быстро набирают скорость, открывая гораздо больше возможностей для беспрепятственного взаимодействия между интерфейсом и сервером.

Надеюсь, я не слишком много болтаю, спросили вы;)

объект XMLHttpRequest для асинхронной связи и, наконец, JavaScript, чтобы объединить эти технологии ( википедия ).

AJAX / JavaScript - не единственное решение на стороне клиента, другие известные решения, такие как, например, Java и Flash, все еще имеют свое место. Но JavaScript, по большей части, широко поддерживается всеми современными браузерами, и действительно, движки JavaScript этих браузеров быстро набирают скорость, открывая гораздо больше возможностей для беспрепятственного взаимодействия между интерфейсом и сервером.

Надеюсь, я не слишком много болтаю, спросили вы;)

2
ответ дан 5 December 2019 в 15:25
поделиться

Является ли JavaScript единственным вариантом для клиентские сценарии, которые поддерживать связь на стороне сервера? Если не каковы альтернативы.

Да, вы будете использовать Javascript. Хотя могут быть доступны другие варианты, такие как VBScript, вы захотите использовать Javascript, потому что он наиболее широко распространен.

Какова «общая» архитектура приложение AJAX? Это просто JavaScript (клиентский скрипт) взаимодействие со стороной сервера ресурсы (данные / удаленная функциональность через веб-службы)?

Это совершенно верно. Веб-службы или универсальные обработчики обслуживают необходимые данные в формате JSON или XML, оба из которых могут быть легко обработаны с помощью Javascript.

На мой взгляд, то, что ускользает от большинства разработчиков веб-форм ASP.NET, заключается в том, что асинхронный аспект.

2
ответ дан 5 December 2019 в 15:25
поделиться

Все текущие ответы хороши, но они не учитывают один момент. AJAX - это не сценарий, не язык или технология как таковые, вы не можете написать что-то «на» AJAX. AJAX - это просто термин, связанный с объединением.

Это из Википедии :

Подобно DHTML и LAMP, AJAX - это не технология сама по себе, а группа технологий. AJAX использует комбинацию:

  • HTML и CSS для разметки и стилизации информации.
  • Доступ к DOM с помощью JavaScript для динамического отображения и взаимодействия с представленной информацией.
  • Метод асинхронного обмена данными между браузером и сервером , тем самым избегая перезагрузки страницы. Обычно используется объект XMLHttpRequest (XHR), но иногда вместо него используется объект IFrame или динамически добавляемый тег.
  • Формат данных, отправляемых в браузер. Распространенные форматы включают XML, предварительно отформатированный HTML, простой текст и нотацию объектов JavaScript (JSON). Эти данные могут быть созданы динамически с помощью некоторой формы сценариев на стороне сервера.
0
ответ дан 5 December 2019 в 15:25
поделиться

Альтернатива JavaScript VbScript (если я должен назвать один и остерегаться, это технология MS и работает только с IE), но практически говоря JavaScript является общепринятым решением для написания сценариев на стороне клиента.

Для Ajax См. Ниже обсуждение SO:

-1
ответ дан 5 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

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