$ http не работает в iOS 8.2 в приложении Ionic / AngularJS

Следующий код работает в моем приложении Ionic для iOS версии 9.3 ++, но НЕ для iOS 8.2:

  $http({
method: 'POST',
url: 'https://example.com',
data: {username: username, password: password }
}).then(function(result) {
//I wish!
},function(error) {
//unfortunately we end up here for iOS 8.2, but not for 9.3 or greater
});

Я проверил, что обе версии получают данные POST на сервер, и сервер генерирует правильный ответ.

iOS 8.3 выдает ошибку:

Failed to load resource: The network connection was lost.

Я подозреваю какую-то проблему с настройками / разрешениями браузера / CORS, но не нашел решения на SO или Google.

Мой сервер (PHP) настроен для получения ajax-запросов:

if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
}

//Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) {
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
}
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) {
header("Access-Control-Allow-Headers:
{$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
}
exit(0);
}

//processing code goes here and a proper $response is created
echo json_encode($response);

0

Решение

попробуйте добавить эту строку в ваш http-запрос

заголовки: {‘Content-Type’: ‘application / x-www-form-urlencoded’}

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector