разница между json и ajax? когда что использовать?

Привет, я полностью запутался между json и ajax. Когда будет то, что будет использоваться. Я работаю с PHP на стороне сервера. Я регулярно использую ajax для асинхронного получения данных без вызова загрузки страницы. Я использую функции JSON php для передачи данных в javascript. Но я только начал изучать jQuery, и я полностью запутался, когда использовать функцию ajax и когда использовать json. Может кто-нибудь помочь мне с этим, спасибо.

8 ответов


Я предполагаю, что вы имеете в виду на jQuery .getJSON() метод.

этот метод является просто сокращенным способом использования jQuery .ajax() метод с данными JSON. .getJSON() эквивалентно:

$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: callback
});

таким образом, вы можете использовать .getJSON() если вы будете получать данные JSON с сервера. Данные будут автоматически проанализированы с помощью jQuery.parseJSON() метод.


в более общем плане AJAX - это способ асинхронного получения информации с сервера. JSON - это способ форматирования данных.... но я предполагаю, что вы уже знали об этом, и вы спрашивали конкретно о двух методах jQuery, о которых я упоминал.


JSON (JАваS cript Object Nотация) и AJAX (насинхронно JavaScript a nd X ML) - это две совершенно разные концепции, одна используется в качестве носителя данных (JSON) , а другая используется для получения данных с веб-сервера HTTP или FTP (AJAX), который не зависит от формата передаваемых данных, это может быть текст, двоичный, XML или JSON, который является почти все.

вы можете использовать AJAX с JSON, извлекая некоторые данные в формате JSON с веб-сервера, используя AJAX, а затем используя JavaScript для анализа данных JSON в форму, доступную движку сценариев.


JSON-это только одно: это формат для обмена данными. Когда ты кодирование ваши данные в формате JSON, это может быть легко декодируются. Скажем, вы хотите закодировать свою личную информацию:

меня зовут Хуан, и мне 31 год

вы бы закодировали его в формате JSON как:

{'name':'Juan', 'age':31}

эта строка мала, легко передается и легко интерпретируется; она также стандартизирована, поэтому любой с совместимым Декодер JSON сможет получить ваш name и age от этой строки. JSON используется многими веб-службами для обмена данными.

теперь AJAX не является ни языком, ни продуктом, ни программным обеспечением, ни спецификацией, ни стандартом. AJAX-это просто путь. Нет определение "Аякса". Вместо этого AJAX-это набор методов, в которых данное представление интернет-ресурса (скажем, определенной веб-страницы) может взаимодействовать с сервером асинхронно. Например, я набираю это сообщение в текстовом поле, а затем нажму POST YOUR ANSWER. Сервер получит этот текст и поместит его на сайт, но не перезагрузит страницу (только соответствующую часть, где он фактически помещает мой ответ).

AJAX важен, потому что он обеспечивает внешний вид, похожий на настольное приложение (было бы странно, если бы каждый раз, когда вы нажимали что-то в своем настольном приложении, Приложение закрывалось, а затем снова открывалось, правильно?)

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

Итак, JSON-это хорошо определенная вещь (формат данных), а AJAX-нет (это способ делать вещи, но нет четкого определения). Они не связаны между собой, но оба они широко используются в интернет-сервисах, поэтому вы видите, что их имя всплывает очень часто.


AJAX-это метод доступа, сродни простому веб-запросу. Однако, AJAX-это асинхронный.

JSON-это кодировка данных, возвращаемых доступом...Его на том же уровне HTML или XML.

запрос AJAX может возвращать любое форматирование данных, и в зависимости от задачи JSON или HTML может быть правильным форматом данных.

например, ваше приложение может запросить целый новый раздел html и использовать его для замены чего-то существующего уже на Вашей странице. jQuery.load() для этого. Возможно, вашему приложению просто нужны данные с сервера, вы можете использовать jQuery.getJSON() для этого и кодируйте свои данные в JSON. Хорошая вещь о JSON, разбор практически не требует усилий, esp с помощью jQuery.


Ajax-это концепция использования JavaScript для асинхронных вызовов для передачи данных между клиентом и сервером. Он не определяет, какие данные передаются и как они кодируются.

вот где JSON приходит, JSON-это инструмент, используемый для описания значений и объектов путем кодирования содержимого очень определенным образом.


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

вы можете думать о JSON (Нотация Объектов JavaScript) как письмо. Он содержит пользовательскую и определенную информацию в общем формате, который сервер и клиентские языки может понять (обычно сервер в ASP, PHP, Perl или Ruby, браузер клиента в JavaScript).

как и при отправке пакетов, однако, письмо не является единственным видом вещей, которые могут быть отправлены. Коробки, трубки и другие форматы могут использоваться в почтовых отправлениях. Это карты обратно в JSON один из многих форматов. XML, HTML, Plain Text, Binary (Images Etc), и любой проприетарный формат, который вы можете придумать, может быть отправлен AJAX на сервер и спина.

MooTools имеет оболочку, которая позволяет легко использовать AJAX сообщение передает большой JavaScript фреймворков тоже. JQuery еще одна (более популярная) структура, которая также предоставляет аналогичные функции.

JSON сам по себе полезен тем, что он сопоставляет непосредственно с обозначением объекта JavaScript, поэтому он особенно удобен для хранения и передачи информации. В других языках есть синтаксические анализаторы для извлечения и составления данных в этом формате.


JSON: обозначение объекта JavaScript, и это:

  • синтаксис для хранения и обмена данными.
  • текст, написанный с помощью обозначения объектов JavaScript.

AJAX является асинхронным JavaScript и XML, не является языком программирования, и вы можете:

  • обновить веб-страницу без перезагрузки страницы;
  • запросить данные с сервера-после загрузки страницы;
  • получение данных с сервера-после страницы загрузил;
  • отправлять данные на сервер в фоновом режиме.

с комбинацией вы можете отправить запрос AJAX на сервер и вернуться в формате JSON.


AJAX используется для получения данных с сервера, которые могут быть в json, xML или других форматах.