2017-09-22 76 views
0

如何在提取語句中記錄錯誤響應?
我的代碼看起來是這樣的:React Native:記錄錯誤響應

eturn fetch('myurl.com', { 
     method: 'GET', 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json', 
     }, 
    }).then((response) => response.json()) 
     .then((responseData) => { 
      console.log(responseData); // This logs nothing 
     }).catch((error) => { 
      console.log("Error " + error); // This logs something 
     }); 

日誌從我的代碼示例Error SyntaxError: JSON Parse error: Unrecognized token '<'。我想這是因爲XDebug發送了一些錯誤消息,但我絕對不知道可能出錯的原因。它看起來響應以'<'開頭,所以我認爲它是一個html標記。

是否可以顯示此響應?這對找到我的錯誤非常有用。

+1

用於調試刪除'。然後((響應)=> response.json())'部分,調試完畢後把它帶回來 – Cherniv

回答

0

試試這個,並確保URL返回正確的JSON格式:

fetch(url) 
     .then(res => res.json()) 
     .then(res => { 
      this.setState({ 
       loading: false, 
       data: res.data 
      },() => { 
       console.log("log something") 
      }); 
     }) 
     .catch(error => { 
      console.log(error); 
      this.setState({ loading:false, error }); 
     }); 
+0

這是我的問題。我不想看到什麼**完全**網址返回,因爲我無法找到任何問題,同時在url後面調試我的PHP代碼。隨着你的代碼,我得到完全相同的錯誤。 '錯誤SyntaxError:JSON解析錯誤:無法識別的標記'<'' – Tekk

+0

那麼這意味着你的網址不會返回json。刪除第一行,然後再試一次?並使用data:res而不是data:res.data。如果你確定你的url返回json然後保持第一個.then行,只是做console.log(res) – blacksun

+0

我非常確定,url不會返回正確的json格式。請提供網址,以便我們提供幫助。 – blacksun

相關問題