2015-12-21 2 views
-1

Я хотел бы добавить собственный заголовок для запроса AJAX CORS.Как добавить собственный заголовок для запроса AJAX CORS

мой сервер PHP просветом и прокси-сервер Nginx, путь bootstrap/app.php мой проект настроить enter image description here

У меня this и this, но они не являются полезными.

Мне интересно, нужна ли какая-либо конфигурация сервера или определите в моем скрипте. Вот мой код:

$.ajax({ 
    url: "http://xx.api:8000/user/test", 
    dataType: 'json', 
    type: 'GET', 
    headers: { 
     "mark": "111", 
    }, 
    success: function() { 
     console.info('sucess'); 
    }, 
    error: function() { 
     console.info("error"); 
    } 
}); 

, когда я строю в хроме, журнал консоли:

OPTIONS http://xx.api:8000/user/test 405 (Method Not Allowed) 
XMLHttpRequest cannot load http://xx.api:8000/user/test. Invalid HTTP status code 405 

заголовки запроса является

OPTIONS /user/test HTTP/1.1 
Host: xx.api:8000 
Connection: keep-alive 
Access-Control-Request-Method: GET 
Origin: null 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 
Access-Control-Request-Headers: accept, mark 
Accept: */* 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6 

заголовки ответа является

HTTP/1.1 405 Method Not Allowed 
Server: nginx 
Content-Type: application/json;charset=utf8 
Transfer-Encoding: chunked 
Connection: keep-alive 
X-Powered-By: PHP/5.6.14 
Access-Control-Allow-Origin: * 
Access-Control-Allow-Methods: * 
Access-Control-Allow-Headers: * 
allow: GET 
Cache-Control: no-cache, private 
date: Tue, 22 Dec 2015 02:16:16 GMT 

Любые предложения?

+0

Какой у вас веб-сервер? –

+0

«xhr.setRequestHeader (« mark »,« authorizationToken »); // не работает» - Что означает «нет работы»? Получается ли запрос? Получили ли вы ответ? Отображает ли консоль сообщения об ошибках? ** использовать инструменты разработчика вашего браузера ** – Quentin

+0

@RajeshManilal веб-сервер PHP lumen и прокси-сервер nginx, я редактировал свой вопрос. спасибо! – HuangMin

ответ

0

Если ваш веб-сервер Apache

Добавьте следующее в .htaccess файл и поместите его в корневой директории приложения (http://api.test)

Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" 
Header add Access-Control-Allow-Methods "POST" 

Для IIS7

Создать Web.config файл в корневом каталоге вашего приложения и добавьте следующий код XML в i t

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
</configuration> 
+0

спасибо в любом случае! однако, мой сервер - это просвет PHP, а прокси-сервер - nginx – HuangMin

+0

Я решил проблему. Проблема заключается в сервере конфигурации. благодаря ! – HuangMin

Смежные вопросы