天天看點

Angular請求報魔性400錯誤

HttpGet或 HttpPost都不能傳包含 " 、“{"、"}"這樣的參數,需要對特殊字元進行轉義,把 " 轉成%22,把 { 轉成%7b,把 } 轉成%7d

如果url中含有這些特殊字元,都需要進行轉義,否則請求報400錯誤,這個問題還是花了一天時間都無法解決,最後加angular學習群(788980451)問大佬才解決的,感謝各位群裡的各位大佬

原始URL:包含{ ' ' }  字元需要轉義
     this.genanUrl = "http://localhost:4200/genan/api/MCU32/getDataCollect?skip=0&limit=500&jsonSql={sequence_id:'00022'}";
手動轉義:
     this.genanUrl = "http://localhost:4200/genan/api/MCU32/getDataCollect?jsonSql=%7bsequence_id:%2700022%27%7d&limit=50&skip=0";
調用encodeURI()轉義:
    this.genanUrl ="http://localhost:4200/genan//api/MCU32/getDataCollect?jsonSql={sequence_id:'00022'}&limit=500&skip=0";
    return this.http.post( encodeURI(this.genanUrl),{headers:headers});
   }
           

轉義之後通路就可以成功了

Angular請求報魔性400錯誤