Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2017, 16:58
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

XMLHttpRequest возвращает статус 0
Добрый день!
Возник вопрос по работе с XMLHttpRequest. Есть сайт https://site.ru/, при входе на который идет обращение к локально установленному приложению. При этом возвращается статус 0 и, соответственно, работа происходит некорректно.

Но если поменять в запросе протокол с https на http, то все работает - статус = 200 и возвращается некий результат (в этом случае есть еще проблема смешанного контента, но я разрешаю браузеру обрабатывать такие ситуации. делается это нажатием на иконку "загрузить небезопасные скрипты" или "разрешить смешанный контент").

Почему "в режиме https" возвращается статус 0 ?
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2017, 17:02
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Пример кода:
var xhr = new XMLHttpRequest();
					xhr.open('GET', url + paramStr, true);
					xhr.send();

					xhr.onreadystatechange = function() {

                        console.log(xhr.status);
                        console.log(xhr.responseText);

						if (this.readyState != 4) {
							return;
						}
						if (xhr.status == 0) {
							return;
						}
						if (xhr.status == 200) {
							ret = JSON.parse(xhr.responseText);
							action(ret, command, DoneFuncObj);
						} else {
							ret = {
								"success" : -1,
								"message" : "Недопустимый ответ " + xhr.status,
								"data" : xhr.statusText
							};
							DoneFuncObj.funcFail(ret);
						}
					}


Пример значения url + paramStr: https://localhost:3574/module/init?u...ystem_id=admin


При этом, если просто открыть эту ссылку в новом окне браузера, то данный запрос отработает и вернет результат!
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2017, 17:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

В XMLHTTPRequest запрещены запросы с https на http.
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2017, 17:14
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Может идет кросс доменный запрос (другой домен/порт/протокол)?
Если это все ваши сайты, то можно добавить хидер Access-Control-Allow-Origin
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XMLHttpRequest передача массива серверу JaneLane AJAX и COMET 5 16.05.2014 12:09
XmlHttpRequest возвращает пустую строку ilta AJAX и COMET 2 14.11.2012 14:52
XMLHttpRequest не возвращает значение mrbean11 Firefox/Mozilla 3 04.11.2012 14:24
xmlhttprequest возвращает пустоту alexxus AJAX и COMET 4 11.05.2011 18:44
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14