You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过jQuery AJAX获取API响应的错误码及错误信息?

解决AJAX请求失败时获取错误信息的问题

你需要给jQuery AJAX请求添加错误处理回调,通过jqXHR对象获取状态码和响应内容,再解析成JSON拿到错误信息。修改后的代码如下:

const formData = new FormData(thisForm).entries();

var settings = {
  "url": "{{ section.settings.endpoint }}",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json"
  },
  "data": JSON.stringify(Object.fromEntries(formData))
};

$.ajax(settings)
.done(function (response) {
  alert('success');
  form.reset();
})
.fail(function (jqXHR, textStatus, errorThrown) {
  // 获取HTTP状态码
  const statusCode = jqXHR.status;
  try {
    // 解析服务器返回的错误响应为JSON对象
    const errorData = JSON.parse(jqXHR.responseText);
    // 提取错误类型和提示信息
    const errorType = errorData.error;
    const errorMessage = errorData.message;
    // 显示自定义错误提示
    alert(`请求失败(状态码:${statusCode}):${errorMessage}(错误类型:${errorType})`);
  } catch (e) {
    // 兼容服务器返回非JSON格式的错误情况
    alert(`请求失败(状态码:${statusCode}):${jqXHR.responseText || errorThrown}`);
  }
});

关键说明:

  • fail回调会在请求返回4xx/5xx等错误状态码时触发,jqXHR对象包含请求的核心信息:
    • jqXHR.status:直接获取HTTP状态码
    • jqXHR.responseText:获取服务器返回的原始响应文本,对应你在控制台看到的错误JSON字符串
  • 用JSON.parse()将响应文本转为JSON对象后,就能直接访问error和message字段
  • 加入try/catch是为了避免服务器返回非JSON格式错误时,代码出现解析报错

内容的提问来源于stack exchange,提问作者MariaL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:01:35