vue.js - vue 打包后 nginx 服務端API請求跨域問題無法解決。
問題描述
我把vue打包傳到服務端后 放在 www 子域名所指定的目錄里。當我發(fā)起請求的時候要去請求 api 子域名所綁定的目錄。這一請求就造成了跨域提示
然后我在nginx 里也配置了也無解。
也就是我請求 www.daimatu.cn/api/login/index ajax post 請求 轉發(fā)到 api.daimatu.cn/api/login/index 去
我之前在 location / {} 和 location /api {} 里做了很多設置 都是網上百度來的,然后并沒有用~!
然后我在我本的把請求的地址改為線上的,本地請求也沒有問題!是通的能正常操作。我對比了下兩邊的請求頭發(fā)現(xiàn)不一樣!本地請求線上服務端 Request Method 是正常的GET POST 而我線上從 www 轉到請求 api 的 Request Method 變成了 OPTIONS 而不是正常的 GET POST 等請求頭 我也搜索找了設置 OPTIONS 怎么設置請求的時候跨域還是無法解決了!
如圖上所示 變成了 options 了
我想請教下大伙 你們是如何配置的。我后端語言是PHP 不要叫我去設置更改PHP。我本地請求本地服務和線上服務都是通的正常的,只有線上www 轉發(fā)請求 api 有問題。所以不用改程序。
Api 請求地址: http://api.daimatu.cn/api/log...Api 帳號: admin Api 密碼: 123456Api 驗證碼: 1234求大伙 NGINX服務器請求我這個API過來 看下你們的配置。我已經折騰了半天也沒有成功!!
問題解答
回答1:在location中作如下配置
add_header ’Access-Control-Allow-Origin’ ’*’;add_header ’Access-Control-Allow-Credentials’ ’true’;add_header ’Access-Control-Allow-Methods’ ’GET, POST, OPTIONS’;
然后重啟nginx服務
service nginx reload
相關文章:
1. 前端 - 關于img父容器的高度會比img的高度多幾像素的問題?2. debian - docker依賴的aufs-tools源碼哪里可以找到啊?3. dockerfile - [docker build image失敗- npm install]4. html5 - 自己的H5頁面如何集成支付寶支付5. php工具中的mysql還是5.1以下的,請問如何才能升級到5.1以上?6. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實現(xiàn)的?7. javascript - 移動端自適應8. Mysql如何按照日期對比數(shù)據(jù),求SQL語句9. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?10. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)
