Я пытаюсь вернуть мое приложение Cordova, так как в последний раз, когда оно работало, мой сервер истек, и мне пришлось перестраивать базу данных и загружать свои php-интерфейсы в другом домене, чем тот, который использовался для размещения.
Таким образом, после того, как вся работа на сервере была выполнена, и все было так, как было, я изменил все ссылки в моем приложении и разрешения на внешние источники, но все же, когда я запускаю приложение, когда оно встречает первый вызов getJSON, который он даетследующая ошибка в консоли javascript:
Не удалось загрузить ресурс jquery-3.2.1.js (9566,10)
В выходном потоке написано:
E chromium: [ОШИБКА: sync_resource_handler.cc (63)] Запрещено перенаправление перекрестного источника
Я добавил следующую функцию ошибки, чтобы получить лучшее представление об ошибке:
console.log(xhr.status + status + error);
и получил это на консоли:
0errorNetworkError: Не удалось выполнить 'send' на 'XMLHttpRequest': Не удалось загрузить 'https://www.squirreldevelopment.it/notebet/request_utilities.php'.
У меня установлен плагин белого списка иследующий в моем config.xml:
<plugin name="cordova-plugin-whitelist" spec="~1.3.3" />
<allow-navigation href="https://squirreldevelopment.it/notebet/*" />
<allow-intent href="https://squirreldevelopment.it/notebet/*" />
<access origin="https://squirreldevelopment.it/notebet/*" />
Я также попытался с href = "*" безуспешно.
В html-заголовке у меня есть
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *; connect-src 'self' https://www.squirreldevelopment.it/notebet/ 'unsafe-inline' 'unsafe-eval'">
Вверху php-файла у меня есть:
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');
header('Content-Type: application/json');
header('HTTP/1.1 200 OK');
Я проверил сгенерированный манифест и есть разрешение на доступ в интернет
Я попытался переустановить плагин белого списка безуспешно.
это мой оригинальный фрагмент кода, который выполняет вызов:
$.getJSON('https://www.squirreldevelopment.it/notebet/request_request_utilities.php', function (result) {
console.log("success");
$.each(result, function (i, field) {
console.log("reading request_utilities.php");
status = field.status;
val_aggiorna = field.aggiorna;
console.log("ended reading request_utilities.php");
statusResult = result;
});
if (status == 0) {
errore('Error loading data');
} else {
console.log("status ok");
console.log("requestData");
requestData(urls);
}
});
Это код, который я сейчас использую для отладки (они получают ту же ошибку):
$.ajax({
crossDomain:true,
dataType: "json",
url: "https://www.squirreldevelopment.it/notebet/request_utilities.php",
success: function (result) {
console.log("success");
$.each(result, function (i, field) {
console.log("reading request_utilities.php");
status = field.status;
val_aggiorna = field.aggiorna;
console.log("ended reading request_utilities.php");
statusResult = result;
});
if (status == 0) {
errore('Error loading data');
} else {
console.log("status ok");
console.log("requestData");
requestData(urls);
}
},
error: function (xhr, status, error) {
console.log(xhr.status + status + error);
}
});
У меня больше нет подсказок, как это исправить.Надеюсь, кто-то может помочь.