Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2015, 21:25
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Кроссдоменный XMLHttpRequest
Добрый вечер!

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

У нас имеются домены site.ru и sub1.site.ru. Пол дня пытался отправить данные с первого домена на второй и затем получить ответ. Ничего не получилось. На стороне поддомена sub1.site.ru, поставил "Access-Control-Allow-Origin: *". Но хоть он там есть, хоть его нет, разницы никакой. Хотя вот здесь, говорится о том, что мы можем, использовать данный приём для кроссдоменных запросов.

Я так понимаю, что эти кроссдоменные запросы на основе XMLHttpRequest, работают только с JSONP данными? Или всё таки мы можем использовать и JSON? Если всё-таки только JSONP, то полагаю что придётся переделывать свой скромный ajax...
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2015, 06:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

http://habrahabr.ru/post/120336/
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2015, 13:21
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

laimas. Исходя из вашей ссылки я понял, что кроссдоменные запросы не сделать с XMLHttpRequest. Но здесь говорится, что это возможно. Здесь на форуме есть люди соображающие в этом вопросе? Может поделитесь парочкой идей?
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2015, 13:24
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Я конечно могу сделать с помощью <SCRIPT>, но может всё таки есть вариант с использованием XMLHttpRequest? Это было бы проще.
Ответить с цитированием
  #5 (permalink)  
Старый 13.04.2015, 13:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от 1lider
но может всё таки есть вариант с использованием XMLHttpRequest? Это было бы проще.
C чего ты это взял?
Ответить с цитированием
  #6 (permalink)  
Старый 13.04.2015, 15:09
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

1lider, можно, только если выставить нужный заголовок на домен, к которому идёт этот самый запрос.
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2015, 15:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Локальный сервер есть? Создаем в нем домен testcross.ru с индексным файлом с двумя строками в нем:
<?php
header('Access-Control-Allow-Origin: *');
echo 'Y';

С любого другого локального домена делаем к нему запрос:
<html>
<head>
<script>
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'http://testcross.ru/');
    xhr.send(null);
    xhr.onload = function() {
        alert(xhr.responseText)
    }
</script>
</head>
<html>

Проверяйте. Работает?
Ответить с цитированием
  #8 (permalink)  
Старый 13.04.2015, 17:21
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Цитата:
Проверяйте. Работает?
Работает. Ответ приходит. Теперь осталось только доделать сие чудо для браузера IE и снизойдёт на нас благодать. В моём же коде, не срабатывало из-за этого:
xhr.setRequestHeader('Cache-Control', 'no-cache');

Убрал, сразу заработало.

Последний раз редактировалось 1lider, 13.04.2015 в 17:25.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не отправляются данные XMLHttpRequest() sinefighter Events/DOM/Window 2 05.07.2014 18:05
XMLHttpRequest передача массива серверу JaneLane AJAX и COMET 5 16.05.2014 12:09
запрос на другой сайт XMLHttpRequest vscorpion Internet Explorer 9 24.12.2013 16:46
xmlHttpRequest подскажите czp AJAX и COMET 4 10.12.2012 23:23
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14