HTTP-post請求重定向後變成了GET請求

昨天在調用一個post方法去請求一個接口時,結果我的谷歌瀏覽器只顯示調用了一次,並且請求方法變成GET了,如下圖,很神奇呀!!!很困惑,同樣的POST請求方法,換成其他的URL去請求確實是POST方法,且能請求成功,我的這個URLpost請求就變成GET了,百思不解(因爲一開始沒有注意到HTTP轉換成HTTPS)。

所以遇到這種情況,檢查一下URL是HTTP還是HTTPS!!!

以下是遇到的情形。

http.post方法

// 提交帶storecode頭接口,POST方法
  $postStoreCode(url: string, storeCode: any, params: any): Observable<any> {
    return this.http.post(url, params, {
      headers: new Headers({
        'Cache-Control': 'no-cache',
        'Pragma': 'no-cache',
         storeCode: storeCode
      })
    }).map((res: Response) => {
        let result = res.json();
        return result;
      });
  }

接口調用

一開始的URL是HTTP

// 模板保存接口請求,調用的$postStoreCode方法
public tplServicehx(){
  let url = `http://xxxxx.com/cmt2-dcis-dealer/pc/dcisRemoteService/dcis/appointment/rest/resource/technician/duty/rule`;
  this.uploadPicService.$postStoreCode(url, this.storeCode, this.dataList).subscribe(res => 
  {
    if (res['returnCode'] == "1") {
      this._ils.alertOpen(res['returnMessage']);
      this.templateInquireFun();
     } 
   }, error => {
       this._ils.alertOpen("模板設置失敗,請重試!");
      });
 }

 谷歌瀏覽器控制檯結果

我同事用她的谷歌瀏覽器查看結果,,顯示調用了兩次,第一次是http post請求但是301了,,很快第二次變成https,,get請求了,且報錯400。如下兩張圖:

 

 後來,我把URL變成HTTPS了,,請求就OK了。

301重定向 
       頁面永久性移走(301重定向)是一種非常重要的“自動轉向”技術。網址重定向最爲可行的一種辦法。當用戶或搜索引擎向網站服務器發出瀏覽請求時,服務器返回的HTTP數據流中頭信息(header)中的狀態碼的一種,表示本網頁永久性轉移到另一個地址。

 

參考文章:https://blog.csdn.net/nakey_xie/article/details/82837413

https://baike.baidu.com/item/301%E9%87%8D%E5%AE%9A%E5%90%91/1135400

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章