Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как с помощью js отправить данные??? (https://javascript.ru/forum/misc/21901-kak-s-pomoshhyu-js-otpravit-dannye.html)

systemiv 28.09.2011 20:19

как с помощью js отправить данные???
 
отправить на другой хост, подойдёт любой способ, с помощью которого можно отправить данные от клиента.

FINoM 28.09.2011 20:21

Ajax?

systemiv 28.09.2011 20:46

На другой хост

zebra 28.09.2011 20:56

jsonp

melky 28.09.2011 21:40

маяк
(new Image).src="http://site.ru/sniffer.php?".....

только get. нет возможности получить ответ.

dmitriymar 28.09.2011 22:06

Цитата:

Сообщение от melky
(new Image).src="http://site.ru/sniffer.php?".....

iframe удобнее тогда -в нём хоть можно отразить-данные (не)успешно сохранены.хотя и так можно отдать ответ в виде картинки

melky 28.09.2011 22:22

Цитата:

Сообщение от dmitriymar (Сообщение 128504)
iframe удобнее тогда -в нём хоть можно отразить-данные (не)успешно сохранены.хотя и так можно отдать ответ в виде картинки

нееет.

маяк нужен для отправки данных, для которых необязателен ответ.(т.е. не нужен)

если нужен ответ от сервера, тогда уж удобнее использовать jsonp

Kolyaj 28.09.2011 22:45

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

melky 28.09.2011 23:08

а зачем?

systemiv 29.09.2011 00:08

Ответ вообще не нужен.
Но я не понял идею:
(new Image).src="http://site.ru/sniffer.php?".....

melky 29.09.2011 08:07

эта строчка отправит запрос на указанную страницу

Kolyaj 29.09.2011 13:16

Цитата:

Сообщение от melky
а зачем?

Что зачем?

Gozar 29.09.2011 13:32

Цитата:

Сообщение от systemiv (Сообщение 128536)
Но я не понял идею

браузер запросит картинку по указанному в src url, но ты её можешь не отдавать. В этом url будут содержаться отправляемые тобой данные. Их будет ограниченное количество (ограничение на метод get).

dmitriymar 29.09.2011 17:23

действительно ,если домен чужой ,то ничего не поможет в -если на взаимодействие он не настроен с чужими в т.ч и картинка,а если настроен-то лучше скрипт. сформирует код какой выполниться при удачной /неудачной загрузке на странице отправившей запрос ,но это уже по ходу на api тянет

melky 30.09.2011 10:30

Цитата:

Сообщение от Kolyaj (Сообщение 128514)
Пару бит в ответ получить всё-таки можно, отдавая картинку разной ширины/высоты.

Цитата:

Сообщение от melky (Сообщение 128522)
а зачем?

Цитата:

Сообщение от Kolyaj (Сообщение 128622)
Что зачем?

можно же просто отдать заголовок no content и будь здоров - сниффер все-таки

Kolyaj 30.09.2011 10:55

melky,
я тебя всё равно не понимаю. Причём здесь сниффер?

melky 30.09.2011 18:45

сейчас попробую объяснить.

отправка GET запросов с помощью создания картинки (маяк) в большинстве случаев необходима только для пересылки данных, но никак не для их получения. Сюда относятся счётчики на сайтах, снифферы и т.д.

Так как возвращать ответ нет смысла, то обычно сервер (отвечающий) показывает белую картинку размером 1х1. Но разумнее отдавать заголовок No Content.

Это было написано в "JavaScript patterns"

Kolyaj 30.09.2011 19:33

Я говорил, про случай, когда ответ получить всё же надо.

melky 30.09.2011 20:27

Цитата:

Сообщение от Kolyaj (Сообщение 128960)
Я говорил, про случай, когда ответ получить всё же надо.

пожимаю плечами. когда такое нужно?

Kolyaj 30.09.2011 23:47

Подтверждение доставки данных и что данные верны, например. И данные нужно отправить на другой домен, при этом DOM трогать нельзя.

melky 01.10.2011 00:21

Цитата:

Сообщение от Kolyaj (Сообщение 128987)
Подтверждение доставки данных и что данные верны, например.

хм. я уже привык к тому, что все поголовно используют для этого jsonp.

Цитата:

Сообщение от Kolyaj (Сообщение 128987)
И данные нужно отправить на другой домен, при этом DOM трогать нельзя.

это уже хитро :) в начале загрузки страницы, например?

Kolyaj 01.10.2011 09:09

Цитата:

Сообщение от melky
в начале загрузки страницы, например?

Например, на чужой странице, на которой вмешательство в DOM может привести к непредсказуемым последствиям, ну и вообще, не твоя страница -- не трогай.

aiky 01.10.2011 20:52

var e = document.createElement('script');
e.type = 'text/javascript';
e.src = 'my_script_url';
e.error = e.onload = e.readystatechange = function(){
  if(!e.loaded && (!e.readyState || e.readyState == 'loaded' || e.readyState == 'complete')){
    e.loaded = 1;
    e.onerror = e.onload = e.onreadystatechange = null;
    e.parentNode.removeChild(e);
  }
};
  
var head = document.getElementByTagName('head');
if(head.length) head = head[0];
head.appendChild(e);

melky 01.10.2011 21:01

???

aiky 01.10.2011 21:29

Цитата:

Сообщение от melky
???

Что не так?

melky 01.10.2011 21:45

к чему код ?

aiky 01.10.2011 21:51

Цитата:

Сообщение от melky
к чему код ?

Цитата:

Сообщение от Kolyaj
Например, на чужой странице, на которой вмешательство в DOM может привести к непредсказуемым последствиям

Cоздали элемент для транспорта, обменялись данными, аккуратно удалили, DOM ничего не потеряет.

Gozar 02.10.2011 12:24

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

aiky 02.10.2011 18:16

Gozar,
:) ога, силой мысли

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


Часовой пояс GMT +3, время: 18:28.