У меня есть это работающее приложение PhoneGap, построенное с помощью пользовательских интерфейсов AngularJS и Onsen, которое обращается к файлу PHP, где он получает некоторые данные в ответе. Php-файл находился в домене с простым http, но теперь, когда я переместил его в тот, который поддерживает https, я продолжаю сталкиваться с некоторыми странными проблемами.Простой HTTP GET не работает с https для получения JSON
Я попытался использовать метод AngularJS async для получения данных, а также вызов ajax.
$http.get('https://blablabla.com/file.php?parameters').then(function(response) {
//SUCCESS
alert(response);
var z = response;
},function(response) {
alert("Failed");
});
Он идет к части УСПЕХА, но данные, которые у меня есть, неверны. Она должна быть строка (обычную строку JSON, что я stringify и преобразовать в объект JSON)
Аякса вызов заключается в следующем:
function httpGet(theUrl) {
var dataToReturn;
$.ajax({
type: 'GET',
url: theUrl,
cache: false,
async: false,
data: "",
success: function(data, textStatus, result) {
dataToReturn = data;
},
error: function (result, textStatus, errorThrown) {
alert("Failed to get response from server!");
}
});
return dataToReturn;
//var xmlHttp = new XMLHttpRequest();
//xmlHttp.open("GET", theUrl, false); // false for synchronous request
//xmlHttp.send(null);
//return xmlHttp.responseText;
};
Я в основном вызова PHP скрипт, который в https, из приложения PhoneGap. Если я поменяю адрес на http, он работает безупречно ...
Я также хочу, чтобы вы заметили, что PhoneGap в основном создает своего рода локальный прокси. Я не уверен, как это выдумать, хотя ...
Любые идеи о том, как решить эту проблему, получить те же данные, что и я, когда адреса просты «http»?
Возможно, вам потребуется проверить, работает ли прокси-сервер PhoneGap на порту 443. Похоже, он уже работает на порту 80, так как у вас нет проблем. Https использует порт 443, поэтому убедитесь, что прокси настроен для работы на обоих портах. –
Возможно, вы захотите ознакомиться с [той же политикой происхождения] (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy). – Andrew
Можете ли вы включить образцы данных, возвращаемых для HTTP и HTTPS, в ваш вопрос? Кроме того, попробовали ли вы использовать сетевые инструменты браузера или что-то вроде Fiddler для изучения запросов? –