Доброго времени суток.
Мне нужно реализовать авторизацию Phonegap-приложения на сервере через REST-API. Тестирую код приложения в Хроме. При выключенном плагине CORS не работают GET запросы, выдает ошибку
XMLHttpRequest cannot load api2.xxx.com/auth?api_key=yyy. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'mmm.local' is therefore not allowed access.
При включенном плагине CORS GET -запрос уходит и возвращает все необходимые данные, после чего должен идти второй POST-запрос. Он не выполняется, возвращает ошибку такого плана
OPTIONS
api2.xxx.com/token
yyy.local/:1 XMLHttpRequest cannot load
api2.xxx.com/token. Response for preflight has invalid HTTP status code 405
Выдает 405 ошибку.
Я просмотрел материал по CORS, но те примеры не совсем подходят под мое задание.
Если можно, подскажите, в какую сторону копать, нужно ли настраивать CORS на сервере или что-то добавить в AJAX-запрос , чтобы выполнялись и POST и GET запросы без дополнительных плагинов(когда приложение по сути будет самостоятельной единицей.)
Привожу фрагмент кода для авторизации.
Заранее спасибо
$.ajax({
type: "POST",
crossDomain: true,
url: config.apiUrl + "/token",
processData: false,
contentType: 'application/json',
data: JSON.stringify(ss),
success: function (response) {
localStorage.accesstoken = response.AccessToken;
console.log(response);
if (localStorage.getItem('accesstoken') == null || localStorage.getItem('accesstoken') == '') {
alert('Not getting Access Token, Please try again');
}
else {
if (localStorage.username && localStorage.password) {
localStorage.login_token = 'true';
}
if (func !== undefined) {
func();
}
}