2015-12-21 170 views
-1

我想爲Ajax CORS請求添加自定義標頭。如何爲Ajax CORS請求添加自定義標頭

我的服務器是PHP流明和代理服務器是nginx的,路徑 bootstrap/app.php是我的項目配置enter image description here

我有thisthis,但他們也沒有什麼幫助。

我想知道是否需要對服務器進行一些配置或在我的腳本中進行定義。這裏是我的代碼:

$.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"); 
    } 
}); 

當我建立在Chrome中,控制檯日誌是:

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流明和代理服務器是Nginx,我編輯了我的問題。謝謝! – HuangMin

回答

0

如果你的Web服務器是阿帕奇

添加以下的.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文件在您的應用程序的根目錄下,並在i中添加以下XML代碼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

相關問題