$ .get (url) так же, как добавление изображения в DOM? - PullRequest
1 голос
/ 22 ноября 2011

ОБНОВЛЕНИЕ: Позвольте мне указать несколько вещей. Этот запрос GET (к другому домену ) должен произойти после того, как форма успешно отправлена ​​через AJAX (он подсчитывает количество конверсий, пришедших от конкретного реферера). Таким образом, ответ на самом деле не имеет значения, главное, чтобы запрос GET был успешным, и, конечно же, я сводил код к минимуму.

Быстрый вопрос, эти две строки - одно и то же? (мне нужен запрос на получение url):

$('body').append('<img height="1" width="1" style="border-style:none;" alt="" src="url"/>');

А

$.get(url);

Приношу свои извинения, если это звучит идиотски, но я должен быть уверен.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 22 ноября 2011

эти две строки - одно и то же

С точки зрения отправки запроса GET на URL - да. Но с точки зрения использования данных - нет.

Создается элемент изображения с url в качестве источника изображения. Если в ответе нет верных данных изображения, его рендеринг не удастся. Однако запрос GET всегда будет выполнен.

Другой делает запрос Ajax на url. Если это ресурс изображения, ответ будет содержать данные изображения - но вам будет трудно его отобразить (вам нужно сначала закодировать его в base64 и показать как URL data:, или вставить в холст элемент, оба метода не поддерживают браузер на 100%.) Кроме того, запрос удаленных URL не будет работать.

0 голосов
/ 22 ноября 2011

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

Вы указали, что заинтересованы только в отправке запроса и не заинтересованы в ответе. Таким образом, Догберт указал на главный критический аспект в своем (хотя и удаленном) ответе:

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

Кроме того, я хотел бы отметить несколько вещей:

  • Решение для изображения использует тег img для чего-то другого, чем то, для чего оно было предназначено. Это может быть второстепенным, но это все же заставляет меня выбрать AJAX, когда это возможно.
  • Отправляя запрос $. Ajax , у вас будет возможность указать dataType: 'jsonp', который будет работать вокруг той же доменной предпосылки.
  • С AJAX у вас будет намного больше контроля над вашим запросом, например, возможность указать POST или получать уведомления при сбое запроса.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...