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

如何从XMLHttpRequest的响应中提取ID?

从API响应中提取ID的方法

API返回的是JSON格式字符串,你需要先将其解析为JavaScript对象,再直接访问id属性。以下是修改后的代码实现:

var request = new XMLHttpRequest();

request.open('POST', 'https://app.cubi.casa/api/integrate/v3/orders/draft');

request.setRequestHeader('content-type', 'application/json');
request.setRequestHeader('api-key', 'KEY');

request.onreadystatechange = function () {
  if (this.readyState === 4) {
    console.log('Status:', this.status);
    console.log('Headers:', this.getAllResponseHeaders());
    console.log('Body:', this.responseText);
    
    // 清理响应文本:去除首尾多余的双引号(匹配你提供的响应格式)
    let cleanedResponse = this.responseText.replace(/^"|"$/g, '');
    try {
      // 将字符串解析为JavaScript对象
      const responseData = JSON.parse(cleanedResponse);
      // 提取ID字段
      const orderId = responseData.id;
      console.log('提取到的ID:', orderId);
      // 这里可以添加ID的后续使用逻辑,比如存储、发起新请求等
    } catch (error) {
      console.error('解析响应失败:', error);
    }
  }
};

var body = {
  'street': '615 Bourbon St',
  'suite': '',
  'city': 'New Orleans',
  'state': 'Louisiana',
  'country': 'United States',
  'postalCode': '70130',
  'info': 'Extra info',
  'latitude': 29.958365,
  'longitude': -90.066198,
  'external_id': 'R4ER93',
  'owner_email': 'Email.com',
  'package_type': 'plus'
};

request.send(JSON.stringify(body));

关键步骤说明

  • 清理响应文本:你的响应示例中JSON字符串被额外的双引号包裹,所以先用replace(/^"|"$/g, '')去除首尾引号,避免解析失败。
  • 解析JSON:使用JSON.parse()将处理后的字符串转为可操作的JS对象。
  • 提取ID:直接通过responseData.id获取目标字段值。
  • 错误处理:加入try-catch块捕获解析异常,防止因响应格式问题导致代码中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:45:04