国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

post跨域請求問題

2024-04-27 15:19:29
字體:
來源:轉載
供稿:網友

場景

昨天在項目開發中,遇到一個奇怪的問題:

使用fetch發送一個請求,并指定請求的方式methodPOST代碼如下:

var request = new Request(APIList.savePage, { method: 'POST', mode: 'cors', headers: new Headers({ 'Content-Type': 'application/json' }) }); fetch(request) .then(response => response.json()) .then(result =>{ debugger }) }

使用postman調試接口的時候是正常的,但是使用如上代碼發送請求的時候,卻遇到403錯誤,提示請求方式不允許: 這里寫圖片描述

從上圖中可以看到,請求方式上赫然寫著OPTIONS , 這是什么意思?

原因及方案

W3C規范中指出,網絡請求分為簡單請求和復雜請求:

簡單請求:get和部分post,post時content-type屬于application/x-www-form-urlencoded,multipart/form-data,text/plain中的一種復雜請求:簡單請求之外的請求

復雜請求發出之前,就會出現一次options請求。

第一次OPTIONS 空數據請求,為了獲取是否允許跨域,第二次才是帶數據請求。在這種情況下,即便是服務器允許程序跨域訪問,若不支持 options請求,請求也會死掉。

對應的處理方案就是:在服務端添加OPTIONS 請求支持,并做好跨域處理

OPTIONS

OPTIONS請求方法的主要用途有兩個:

1、獲取服務器支持的HTTP請求方法;也是黑客經常使用的方法。

2、用來檢查服務器的性能。例如:Ajax進行跨域請求時的預檢,需要向另外一個域名的資源發送一個HTTP OPTIONS請求頭,用以判斷實際發送的請求是否安全。

for more infomation

Reference

http://stackoverflow.com/questions/17333013/jquery-ajax-post-request-throws-405-method-not-allowed-on-restful-wcf

http://blog.csdn.net/gavin_luo/article/details/44855627


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康保县| 军事| 门头沟区| 桃园市| 邵阳县| 仙游县| 承德县| 乐山市| 霍邱县| 绥化市| 博白县| 隆德县| 阳城县| 梅河口市| 南川市| 五指山市| 河北省| 东阳市| 左权县| 黄平县| 乡城县| 巩义市| 崇仁县| 托克托县| 平泉县| 二连浩特市| 太仓市| 辽中县| 永城市| 青铜峡市| 河曲县| 哈巴河县| 贵溪市| 安阳市| 荣成市| 辽源市| 长岛县| 肃宁县| 阳春市| 湟源县| 曲阳县|