2016-06-09 2 views
0

мне нужно выполнить Досталось и получил эту ошибку из консоли

Request header field client_id is not allowed by Access-Control-Allow-Headers in preflight response. 

Это то, что у меня есть для заголовка:

Access-Control-Request-Headers:accept, authorization, client_id 

Я хотел бы удалить client_id из заголовка запроса для этого вызова и не влиять на глобальные настройки.

Вот код:

$http.get(url,{ 
     headers: {"client_id": undefined } 
    }) 
     .success(function (geoData) { 
     d.resolve(geoData); 
     }) 
     .error(function (err, status) { 
     d.reject(err); 
     }); 

Но это не имеет никакого эффекта. Что мне не хватает?

ответ

1

Эта ошибка, вызванная проблемой CORS. Read here для получения дополнительной информации о запрошенном запросе. Вам нужно настроить ваш сервер для обработки запроса cos, чтобы разрешить параметр заголовка клиента, например «client_id». Например, значение конфигурации для Access-Control-Allow-Headers в сервер:

'Access-Control-Allow-Headers' : 'client_id','Content-Type, Authorization, Content-Length, 

Для ручки заголовка один за другим основанием по запросу, необходимо определить условие, чтобы построить свой заголовок. это должно быть:

// build your header dynamic based on condition of request 
var headerConfig = null; 
if ('your condition to have client_id') { 
    headerConfig = {"client_id": undefined } 
} 
else { 
    headerConfig = {}; 
} 

// request with headerConfig 
$http.get(url,{ 
    headers: headerConfig 
}) 
    .success(function (geoData) { 
    d.resolve(geoData); 
    }) 
    .error(function (err, status) { 
    d.reject(err); 
    }); 
Смежные вопросы