仍然非常缺乏經驗,我試圖錯誤地處理「400錯誤請求」。JS:如何處理從API url返回的400錯誤請求錯誤
我有一個搜索欄的網站。
然後將輸入到搜索欄中的值放入一個返回對象的api url中。
無論何時輸入拼寫錯誤的搜索值,站點的控制檯都會爲api url返回一個「400 Bad Request」。
我還從api url請求中收到下面的錯誤對象。
{
"meta": {
"code": 400,
"errorType": "failed_geocode",
"errorDetail": "Couldn't geocode param near: Jljjl",
"requestId": "59208ac96a6071641949481d"
},
"response": {}
}
我想要做的就是使用條件語句像下面來處理這個錯誤:喜歡一個人的下方
try {
if (400 Bad Request) throw "incorrect";
} catch (err) {
document.getElementById('results').innerHTML = "Input is " + err;
}
我試過條件語句但似乎我無法訪問任何返回的錯誤對象的值:
if (object.meta.code === 400)
if (object.meta.code !== 200)
if (object === undefined) // or null or 0
我怎樣才能把400錯誤請求錯誤進入「if語句」,或者是有另一種方式來處理這些錯誤?
感謝
你找回JSON?您可能需要解析響應,例如'JSON.parse(object)',然後才能使用它作爲JavaScript對象。 –
當你說「取回JSON」時,你能否詳細說明一下?在輸入值錯誤時,我只接收下面的對象,Thx很多:{「meta」:{「code」:400,「errorType」:「failed_geocode」,「errorDetail」:「無法將geocode參數靠近:「jljjl」,「requestId」:「59208ac96a6071641949481d」},「response」:{}} – TheBiscuit
響應可能在字符串中,例如'「{」meta「:{」code「:400,」errorType「:」failed_geocode「 ,「errorDetai l」:「無法在接近Jljjl的地址解析參數」,「requestId」:「59208ac96a6071641949481d」},「response」:{}}「'。如果你用'JSON.parse(errorObject)'解析它,你會得到什麼? –