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

如何在Ajax JSON响应中提取以error开头的字段并赋值

问题:如何检测JSON响应中所有以"error"开头的字段并赋值给本地变量?

现有Ajax请求代码

var getDetails = function(){
     event.preventDefault();
     var id  = document.getElementById("recipientIdM").value;             
     var id2 = document.getElementById("recipientIdD").value;
     var url = "/sch/recipientAjaxV1.jssp?id="+id+"&id2="+id2;
     
     document.controller.setValue('/ctx/vars/id', id);       
     document.controller.setValue('/ctx/vars/id2', id2);  
     
     var request = $.ajax({
      type: 'GET',
      url: url,
      async: true,
      success: function(response) {
          //alert(JSON.stringify(response));
          $('#recipientData').trigger("reset");
          addToForm(response)                     
       }
    });

}

返回的JSON响应示例

{
    "idM": 13249906,
    "cmOneIDM": 888888,
    "jurisdictionM": "SCPB - LON",
    "firstNameM": "David Dynamic",
    "lastNameM": "Test User",
    "emailM": "email@email.com",
    "error2": "WDB-200001 SQL statement 'SELECT   R0.iRecipientId, 'could not be executed.
  Param(0)=132486762
WDB-200011 The requested database record does not exist.
Cannot load document of type 'Recipients (nms:recipient)' satisfying condition '([/@id] = 132486762)'."
}

解决方案

你可以在Ajax的success回调里,遍历JSON响应的所有键名,筛选出以error开头的字段,将这些键值对存入本地变量。修改后的success函数如下:

success: function(response) {
    //alert(JSON.stringify(response));
    $('#recipientData').trigger("reset");
    addToForm(response);

    // 存储所有以error开头的字段
    const errorFields = {};
    // 遍历响应的所有键名
    Object.keys(response).forEach(key => {
        // 判断键名是否以"error"开头
        if (key.startsWith('error')) {
            errorFields[key] = response[key];
        }
    });

    // 现在errorFields变量里就存了所有符合条件的字段,可按需使用
    // 示例:打印所有错误字段
    console.log('检测到的错误字段:', errorFields);
}

说明

  • 用Object.keys(response)获取响应对象的所有键名数组
  • 通过String.startsWith('error')判断键名是否符合前缀要求
  • 符合条件的键值对会被存入errorFields对象,后续可根据业务需求处理这些错误信息(比如展示到页面、记录日志等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:33:32