AJAX GET запросы: использовать параметры или поместить данные в URL?

10
задан Rob W 28 December 2011 в 10:20
поделиться

6 ответов

Одно преимущество для использования parameters аргумент - то, что можно передать его a Hash- как объект вместо как строка. (Если Вы делаете это, тем не менее, удостоверяется, таким образом, устанавливает method параметр к "GET", поскольку методом по умолчанию для запросов Prototype Ajax является POST; посмотрите Введение Prototype в Ajax для получения дополнительной информации.)

Другое преимущество, которое больше в гармонии с примером, который Вы дали, состоит в том, что можно разделить URL запроса от опций, которые отправляются в него. Это могло бы быть полезно, если, например, необходимо отправить набор подобных запросов к нескольким различным URL. (В этом случае, имея общие параметры Hash то, что Вы изменяете для каждого запроса, могло бы быть более полезным, чем использование строки параметров, также.)

Для получения дополнительной информации см. Опытную документацию опций Ajax.

13
ответ дан 3 December 2019 в 16:31
поделиться

Одно из моего любимого использования параметров должно передать во всех полях формы, явно не перечисляя их:

new Ajax.Request('/myurl.php', {
  method:  'get',
  parameters:  $('myForm').serialize(),
  onSuccess:  successFunc(),
  onFailure:  failFunc()
}
9
ответ дан 3 December 2019 в 16:31
поделиться

Можно также использовать формат:

var ajax = new Ajax.Request('server.php',{
  parameters: {
     store: 11200,
     product: "Meat"
  }
  onSuccess: function(myData){whatever}
});

На преимуществе выполнения его этот путь состоит в том, что можно измениться от ПОЛУЧЕНИЯ до POST, не изменяя URL.

1
ответ дан 3 December 2019 в 16:31
поделиться

Для ответа на это необходимо знать способ, которым работают параметры. HTTP в основном (я знаю, существует больше), имеет два метода, чтобы запросить данные: ДОБЕРИТЕСЬ и POST.

Для ДОБИРАЮТСЯ, параметры добавляются к ресурсу, который Вы запрашиваете, как Вы сделал в Вашем коде выше:/my/resource/name? para1=bla. Здесь, нет никакого различия, если Вы добавляете, если непосредственно к ресурсу называют или используют опцию параметров. ДОБЕРИТЕСЬ обычно используется, чтобы запросить данные (ДОБРАТЬСЯ ;)

Для POST параметры записаны отдельный от ресурса в Теле HTTP. Для этого необходимо использовать опцию параметров. POST используется для отправки (огромных) данных.

Для определения который метод запроса использовать используйте опцию метода.

Примечание: ПОЛУЧИТЬ ресурс имеет (зависящий с сервера на сервер) жесткий предел длины. Поэтому НИКОГДА не отправляйте, много использования данных ДОБИРАЮТСЯ.

1
ответ дан 3 December 2019 в 16:31
поделиться
  • Четкость
  • Простой в использовании объект и сериализируют его ( {store: 11200, product: "Meat"})
  • Четкость
1
ответ дан 3 December 2019 в 16:31
поделиться

Это действительно не имеет значения с технической точки зрения на этом кроме форматирования и предпочтения, потому что добираются, запросы всегда имеют данные в URL. Параметры являются просто удобным способом создать ПОЛУЧИТЬ запрос.

0
ответ дан 3 December 2019 в 16:31
поделиться
Другие вопросы по тегам:

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