Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2017, 13:31
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

ajax на сторонний домен
Добрый день, сегодня впервые столкнулся с таким делом как ajax на сторонний домен, и понял что это не работает(

Изучил статью вроде понятно по аналогии с обычным AJAX, но браузер все равно говорит мне:
"[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.sp"

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

Прошу не кидаться тапками за такой может быть банальный вопрос, я изучил много материала, но до сути не докопался
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2017, 14:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А о чем гласит ошибка не понятно?
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2017, 17:12
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

laimas, понятно то что что-то устарело, но это мне не о чем не говорит к сожалению потому что я не работал не с устаревшим ни с новым(

попробовал уже разные методы с разных источников, и все равно одна и таже беда

мне бы просто пример реально рабочего, проверенного скрипта, я бы сразу все понял. Если конечно я не прошу слишком много
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2017, 17:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от smart-create
понятно то что что-то устарело, но это мне не о чем не говорит к сожалению потому что я не работал не с устаревшим ни с новым
Вы запрос свой покажите.
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2017, 19:39
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

Прошу прощения что заморозил тему. Я некоторое время копался, пытался разобраться сам. Кое что написал (просто ради примера повесил обработчик отправки на событие клика):
$('body').on('click', 'a', function(e){
	e.preventDefault();
	
	var xhr = new XMLHttpRequest();

	var body = 'name';

	xhr.open("POST", 'http://online.liveheart.ru/main_c/add_podpiska', true)
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')

	xhr.onload = function() {
	  alert( 'Получилось' );
	}

	xhr.onerror = function() {
	  alert( 'Не получилось' );
	}

	xhr.send(body);
});


Что-то у меня получилось что-то нет. Получилось то что, если отправлять таким макаром запрос внутри домена то все ОК, но если опять таки отправлять на другой домен нарываешься на ошибку:

XMLHttpRequest cannot load http://online.liveheart.ru/main_c/add_podpiska. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://liveheart.ru' is therefore not allowed access.

Из ошибки выплывает что проблема в отсутствии заголовка 'Access-Control-Allow-Origin' (или не только заголовка а еще того что в нем должно быть прописано, это для меня тоже пока не очень ясно, ведя я раньше с этим не стыкался). В поисках информации о Access-Control-Allow-Origin забрел аж на форумы по мобильной раработке. Они там, как я понял постоянно с этой бедой работают (в особенности те кто разрабатывает на платформах по типу cordova). Нашел инфу о том что они прописывает этот заголовок в виде метатега, а в content этого тега пихают домены с которыми можно работать. Очень круто конечно что я узнал об этом, но все равно продолжаю не понимать что мне с этим делать. Я ведь делаю запрос не на страницу сайта, где бы мог прописать нужные теги, запрос идет на php файл. Как в нем указать нужный Access-Control-Allow-Origin я не понял. Может быть и вовсе не в нем нужно указывать...

Вообщем я потратил неделю, узнал много интересной информации но вопросов у меня стало больше чем ответов.

Подскажите пожалуйста что я не доделываю
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2017, 20:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Access-Control-Allow-Origin - этот заголовок разрешает или всем (*), или только указанным доменам к содержимому. Если не указано, то в целях безопасности браузер блокирует такой доступ. Это и весь ответ на вопрос.
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2017, 20:28
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

laimas, спасибо) Суть того что это я понял. Как и где его нужно указывать я не могу понять.., не объясните?
Ответить с цитированием
  #8 (permalink)  
Старый 04.08.2017, 07:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от smart-create
Как и где его нужно указывать я не могу понять.
А в данной ситуации вы какая сторона - запрашиваемая или отвечающая? Если первая, о чем говорят ваши страдания, то ни где, эти заголовки должна устанавливать вторая сторона.
Ответить с цитированием
  #9 (permalink)  
Старый 04.08.2017, 14:26
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

laimas, спасибо всем за участие и уделенное время. Разобрался
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы после ajax проверки ShutTap Общие вопросы Javascript 15 08.04.2016 11:46
Объект ajax и приостановка функции kilohertz_. AJAX и COMET 5 18.01.2015 16:33
Ajax таблица gofkane Работа 0 25.09.2011 11:53
ajax запрос на сторонний сайт vanderv jQuery 2 15.01.2011 09:49
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57