在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  Linux/ 如何解決POST方法跨域出錯(GET方法正常)?

如何解決POST方法跨域出錯(GET方法正常)?

我把前端靜態(tài)頁面放在了阿里云的oss對象存儲上,服務端(node)跑在云服務器上;
前端需要跨域訪問服務端的接口,get方法正常,post方法出錯了;post方法之前會發(fā)送一個預請求,methodoptions,服務端的路由表是不是需要添加對應的OPTIONS路由,難道所有的post路由都要寫一遍對應的optons路由?還請指點迷津,

回答
編輯回答
綰青絲

你這個都404了,應該不是跨域的問題。

2018年4月3日 18:43
編輯回答
入她眼

原本我是想在node里面加一個中間件,凡是methodoptions的請求一律返回204。不過我覺得配置nginx應該也能實現而且更快捷,上網找了一下,在nginx.conf加上了這段代碼

if ($request_method = 'OPTIONS') {
  add_header 'Access-Control-Allow-Origin' '*';
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  add_header 'Access-Control-Allow-Headers' 'Content-Type';
  add_header 'Access-Control-Max-Age' 1728000;
  add_header 'Content-Type' 'text/plain charset=UTF-8';
  add_header 'Content-Length' 0;
  return 204;
}

實測后每個post請求都會先發(fā)起一個options預請求,得到服務端的回應后,根據回應的信息,判斷是否自動發(fā)起post請求

clipboard.png

第一個(預請求)
clipboard.png

第二個(實際的請求)

clipboard.png

2018年5月5日 06:58
編輯回答
久不遇

在請求里加上withCredentials: true試試

2017年9月25日 12:11
編輯回答
刮刮樂

很多跨域問題就是通過get的方式來解決的。

2017年10月27日 17:08