XMLHttpRequest возвращает статус 0
Добрый день!
Возник вопрос по работе с XMLHttpRequest. Есть сайт https://site.ru/, при входе на который идет обращение к локально установленному приложению. При этом возвращается статус 0 и, соответственно, работа происходит некорректно. Но если поменять в запросе протокол с https на http, то все работает - статус = 200 и возвращается некий результат (в этом случае есть еще проблема смешанного контента, но я разрешаю браузеру обрабатывать такие ситуации. делается это нажатием на иконку "загрузить небезопасные скрипты" или "разрешить смешанный контент"). Почему "в режиме https" возвращается статус 0 ? |
Пример кода:
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 При этом, если просто открыть эту ссылку в новом окне браузера, то данный запрос отработает и вернет результат! |
В XMLHTTPRequest запрещены запросы с https на http.
|
Может идет кросс доменный запрос (другой домен/порт/протокол)?
Если это все ваши сайты, то можно добавить хидер Access-Control-Allow-Origin |
Часовой пояс GMT +3, время: 03:47. |