使用fetch進行數據請求時報json錯誤

使用fetch進行數據請求返回response對象,response.json報錯。緣由是response中含有特殊字符。json

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);
}
相關文章
相關標籤/搜索