使用fetch進行數據請求返回response對象,response.json報錯。原因是response中含有特殊字元。 fetch(url).then(response => response.json()) .then(data => console.log(data)) .catch(e = ...
使用fetch進行數據請求返回response對象,response.json報錯。原因是response中含有特殊字元。
fetch(url).then(response => response.json()) .then(data => console.log(data)) .catch(e => console.log("Oops, error", e))
取消response.json()調用,使用response.text()返回請求數據的字元串,對特殊字元進行轉義替換處理後,再進行json對象化傳入請求成功的回調函數中。transSpecialChar是對字元串處理的函數
interface Body { readonly body: ReadableStream<Uint8Array> | null; readonly bodyUsed: boolean; arrayBuffer(): Promise<ArrayBuffer>; blob(): Promise<Blob>; formData(): Promise<FormData>; json(): Promise<any>; text(): Promise<string>; }
response.text().then((text) => { const json = JSON.parse(this.transSpecialChar(text)); successCallBack(json); }