Отправить междоменный запрос для регистрации данных - PullRequest
2 голосов
/ 24 июня 2011

Я работаю над рекламной платформой.Когда кто-то нажимает на изображение, я хочу отправить запрос обратно на мой сервер для регистрации этого действия.У меня есть предварительно сгенерированный URL для этого.Если я отправлю запрос на этот URL-адрес, он запишет данные.

Моя проблема заключается в том, что URL-адрес журнала находится в моем домене, тогда как JavaScript выполняется в домене клиента.Без изменения php-сценария регистрации (чтобы добавить что-то вроде Access-Control-Allow-Origin: *), есть ли способ отправить этот запрос в новый домен?

Так как я только регистрирую данные,Сервер только отправляет обратно текст «ОК» (эта информация мне не нужна).

Ответы [ 5 ]

2 голосов
/ 24 июня 2011

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

2 голосов
/ 24 июня 2011

Создайте любой динамический элемент DOM с источником на вашем домене (изображение или iframe), добавьте данные регистрации в запрос.

var logData = function(data){
if(data === undefined){
    return;
}

var img=document.createElement("img");
img.setAttribute('src', 'http://another.domain?'+data);
img.setAttribute('height', '1px');
img.setAttribute('width', '1px');
document.body.appendChild(img);}

Ваши запросы журнала теперь будут отображаться в журналах IIS

2 голосов
/ 24 июня 2011

Это хак, но он обычно используется. При щелчке добавьте изображение в DOM с src, установленным для URL-адреса регистрации. Чтобы быть дружелюбным, нужно, чтобы выходные данные из URL-адреса регистрации были изображением размером 1x1 пиксель. Вам нужно будет передать параметры через строку GET, но это будет работать.

0 голосов
/ 24 июня 2011

Вы можете создать скрытый iframe с атрибутом src, установленным для URL-адреса регистрации. Это по меньшей мере так же ужасно, как и в случае с изображением, приведенным выше.

0 голосов
/ 24 июня 2011

Ограничения междоменного сценария применяются на уровне браузера в качестве меры безопасности, поэтому не существует простого исправления кода, который можно обойти. Тем не менее, вы можете посмотреть на JSONP (JSON с отступом) в качестве отправной точки.

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