Javascript JS:如何处理API url返回的400错误请求

Javascript JS:如何处理API url返回的400错误请求,javascript,Javascript,还是很没经验,我正试图错误地处理“400个错误请求” 我有一个带有搜索栏的网站。 然后,输入到搜索栏中的值被放入返回对象的api url中。 无论何时输入拼写错误的搜索值,站点控制台都会返回api url的“400错误请求”。 我还从api url请求接收下面的错误对象 { "meta": { "code": 400, "errorType": "failed_geocode", "errorDetail": "Couldn't geoco

还是很没经验,我正试图错误地处理“400个错误请求”

我有一个带有搜索栏的网站。
然后,输入到搜索栏中的值被放入返回对象的api url中。
无论何时输入拼写错误的搜索值,站点控制台都会返回api url的“400错误请求”。
我还从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语句”,或者是否有其他方法来处理这些错误?
感谢使用,这可以通过以下方式实现:

fetch(url)
    .then((res) => {
        if (res.status === 400) {
            throw new Error('your error message here');
        }
        return res.json();
    })
    .then(json => {
        // handle response normally here
    })
    .catch(ex => {
        // handle errors here
    });

只是想借我的钱,这就是我所拥有的

window.fetch('https://api.foursquare.com/v2/venues/explore?v=20170324&near=Jljjl&query=study%20spot&limit=10&intent=browse&radius=100000&venuePhotos=1&client_id=XPQI2RJB3NMDT2JYQIMWDMGZSKRDQZX40NYIOKK02DXB1CVE&client_secret=UNHLLMUWXTEI3USTTN5DRJ02QDWQMHZQ5B22CFX0EY4JLEHO')
.then(r => r.json())
.then(r => {
  if (r.meta.code === 400) {
    console.error('Error')
  } else {
    console.log(r)
  }
})

你回来了吗?您可能需要解析响应,例如
JSON.parse(object)
,然后才能将其作为JavaScript对象使用。当您说“获取JSON”时,您能详细说明一下吗?只有当输入值出错时,我才收到下面的对象,Thx很多:{“meta”:{“code”:400,“errorType”:“failed_geocode”,“errorDetail”:“cannot geocode param near:jljjjl”,“requestId”:“59208ac96a6071641949481d”,response:{}响应可能是类似于
“{”meta“{”的字符串:{“code”:400,“errorType”:“failed_geocode”,“errorDetai”‌​l:“无法在以下位置对参数进行地理编码:Jljjl”,“请求ID:“59208ac96a6071641949481d”},“响应”:{}‌​}"
。如果您使用
JSON.parse(errorObject)
解析它,您会得到什么?我相信响应不是字符串。我会得到一个“意外令牌”"将JSON.parse与错误对象一起使用时出现语法错误。下面是返回示例错误对象的实际api url,如果您想查看它的话:我明白了,它看起来像来自响应的主体。您能够执行
result.body.meta.code
并获取信息吗?谢谢。我看到我分析不正确,首先是time正在尝试。在我的站点中,我使用“$.getJSON”函数获取API对象。因此,自上次响应以来,我一直在尝试找出如何使用JSON解析名为“data”的对象在$.getJSON函数中。看起来像是
$。getJSON
不允许您像处理400响应那样处理错误。看起来您必须使用
$。ajax
。这是一个代码笔:错误回调的内部是您处理错误的地方,可以使用条件逻辑。谢谢。我使用fetch使用了您的答案,并且我让它与其他函数一起工作我的代码,我刚刚研究了一点。我还将研究你的$.ajax响应。谢谢你的帮助。我在业余时间独自解决这个问题大约一周了!再次感谢!非常感谢你在这方面的帮助,我已经完成了所有工作。