JQuery ПОЛУЧИТЕ и ПОЧТУ - PullRequest
       1

JQuery ПОЛУЧИТЕ и ПОЧТУ

1 голос
/ 06 апреля 2010

Я не совсем уверен, как работает jquery. Я хочу немного узнать о GET и POST с точки зрения jQuery.

Я использую следующий код в моем приложении:

<script>
function example_ajax_request() {
  $('#example-placeholder').html('<p>Loading results ... <img src="ajax-loader.gif"  /></p>');
  $('#example-placeholder').load("ind.php?show=" + $('#box option:selected').val());
}
</script>

Я не использую ни GET, ни POST в этом методе. Я использую кнопку для вызова example_ajax_request для обработки запроса и получения результатов.

Иногда я вижу такой код:

$.ajax({
  url: 'loader.php',
  data: 'somedata',
  method: 'GET',
  success: function(data){
    $('#er').text(data);
  }
});

Я сомневаюсь, требуется ли или нет то, что мы используем метод для публикации данных? (либо GET или POST) при отправке и получении данных в веб-приложениях PHP? Код, который я использую первым, работает нормально, хотя я не использую методы POST или GET.

Какие-либо входы?

Спасибо.

Ответы [ 5 ]

4 голосов
/ 06 апреля 2010

«Прочтите руководство» - http://api.jquery.com/load/

Метод POST используется, если данные предоставляется как объект; в противном случае, получить предполагается.

2 голосов
/ 06 апреля 2010

Все данные, которые вы отправляете на сервер из браузера (в обычном случае), будут получены через HTTP-глаголы (методы запроса), почти всегда GET или POST, хотя есть и другие. GET - это то, что браузеры отправляют на серверы, например, когда вы хотите посетить веб-страницу. POST почти всегда используется для отправки форм на серверы по разным причинам.

Методы jQuery ajax могут использовать GET или POST в зависимости от того, что вы им скажете. load фактически принимает решение за вас на основании данных, которые вы сообщаете ему для отправки вместе с запросом. Функции jQuery jQuery.ajax, jQuery.get и jQuery.post позволяют вам точно сказать, что вы хотите сделать.

2 голосов
/ 06 апреля 2010

Используя .load(), как вы это сделали, он запрашивает ресурс через GET. Добавляя параметры в URL (?param1=value1), вы предоставляете "GET параметры".

Это:

$.ajax({
  url: 'loader.php',
  data: 'param1=value1',
  method: 'GET',
  success: function(data){
    $('#er').text(data);
  }
});

в основном совпадает с

$('#er').load('loader.php?param1=value');

Преимущество первого метода заключается, помимо прочего, в том, что вы можете сделать намного больше внутри функции обратного вызова (success :function(){}), чем просто помещать содержимое в элемент. Вы получаете больше контроля. Читать о .ajax().


Различия между GET и POST в том, что при использовании метода GET параметры отправляются как часть URL, тогда как при POST параметры отправляются в теле запроса. Таким образом, проще предоставить параметры через GET. С другой стороны, URL-адреса не могут быть произвольной длины, поэтому отправка параметров через GET ограничена.

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

POST, с другой стороны, следует использовать, если вы хотите изменить данные на стороне сервера.

Подробнее о методах запроса в Википедии .

0 голосов
/ 06 апреля 2010

Оба .load () и .ajax () делают GET-запрос по умолчанию. Результат часто один и тот же, но чтобы быть хорошим разработчиком, вы должны понимать различия и философию каждого из них. Get кажется более простым в использовании, более прозрачным с точки зрения передаваемой информации. Вы передаете видимые параметры. POST позволяет передавать более сложную информацию.

С точки зрения словаря, пуристы говорят, что GET должен получать информацию, а POST должен отправлять ее.

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

В качестве рекомендации я бы использовал ajax () с POST, так как ajax - сложный запрос, который позволяет обрабатывать все ошибки.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

0 голосов
/ 06 апреля 2010

Всегда полезно прочитать руководство. http://api.jquery.com/load/

"Метод POST используется, если данные предоставляется как объект; в противном случае, получить предполагается. "

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