Показать сообщение отдельно
  #7 (permalink)  
Старый 28.07.2015, 17:45
Новичок на форуме
Отправить личное сообщение для Danko Посмотреть профиль Найти все сообщения от Danko
 
Регистрация: 28.07.2015
Сообщений: 2

разрешите апнуть тему. //Решено
Помогите, 2-й день бьюсь над переносом запросов приложения на реальный сервер.
Если все запросы на 1-м сервере - все нормально, но как только перенаправляю запросы на другой сервер - выдает ошибки.
Но все по порядку:
Проект запущен с http://localhost/
отправка запроса:
var promise = $http.post('http://mixo.pl/app_index.php', 
                      {trig: "singin", login: $scope.activeLog.login, pass: $scope.activeLog.pass}) ;
    promise.then (ChangeLogin, ChangeError);

обработчик РНР:
<?php
header('Access-Control-Allow-Origin: *');
$params = json_decode(trim(file_get_contents('php://input')), true);
if (isset($params[trig])) {
	include ("inc/config_db.php");
	if ($params[trig] == 'singin') 	{ include ("inc/app_login.php"); }
	if ($params[trig] == 'new_valid') {	include ("inc/app_new_valid.php");	}
	if ($params[trig] == 'new_done') {	include ("inc/app_new_done.php");	}
}	
?>

возвращает ошибку:
XMLHttpRequest cannot load http://mixo.pl/app_index.php. Request header field Content-Type is not allowed by Access-Control-Allow-Headers.

при этом
headers: Object
Accept: "application/json, text/plain, */*"
Content-Type: "application/json;charset=utf-8"


если добавляю в запрос Access-Control-Allow-Origin, не меняя РНР файла
var promise = $http.post('http://mixo.pl/app_index.php', 
                      {trig: "singin", login: $scope.activeLog.login, pass: $scope.activeLog.pass},
                      {headers: {'Access-Control-Allow-Origin':'*'} } ;  // <--- Добавлено в запрос
    promise.then (ChangeLogin, ChangeError);

то получаю ошибку
XMLHttpRequest cannot load http://mixo.pl/app_index.php. Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers.

при этом
headers: Object
Accept: "application/json, text/plain, */*"
Access-Control-Allow-Origin: "*"
Content-Type: "application/json;charset=utf-8"


Подскажите, плс, в какую сторону смотреть, ибо сам уже запутался полностью.

добавление в РНР файл 3-х строчек решило проблему.
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, X-Requested-With')
?>

Последний раз редактировалось Danko, 28.07.2015 в 18:46. Причина: Проблема решена
Ответить с цитированием