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

如何使用jQuery从AJAX接口返回数据中提取ID值并存入变量

解决jQuery从AJAX返回数据中提取id值的问题

没问题,我来帮你搞定这个!你已经成功拿到了接口返回的results数组,接下来提取里面的id值其实很简单,咱们一步步来:

核心思路

你控制台输出的data.results是一个数组,里面的第一个元素就是包含id的对象{"id": "371", ...}。所以我们只需要先访问数组的第一个元素(用索引[0]),再通过.运算符获取id属性即可。

完整代码示例

提取单个id(当只有一个结果时)

// 可以提前声明变量,方便后续使用(注意AJAX是异步操作,回调外使用要处理异步逻辑)
let targetId;

$.get('/r/rr-autocomplete/?q=string', function (data) {
  // 先做个判断,防止接口返回空数组时报错
  if (data.results && data.results.length > 0) {
    // 提取第一个结果的id值
    targetId = data.results[0].id;
    console.log('提取到的id:', targetId); // 控制台会输出 "371"
    // 这里可以直接使用targetId做后续操作,比如赋值给DOM元素、发起新请求等
  } else {
    console.log('没有找到匹配的结果哦');
  }
});

提取所有id(当有多个结果时)

如果接口可能返回多个结果,想要把所有id都提取出来,可以用数组的map方法:

$.get('/r/rr-autocomplete/?q=string', function (data) {
  if (data.results && data.results.length > 0) {
    // 把所有结果的id收集到一个新数组里
    const allIds = data.results.map(item => item.id);
    console.log('所有匹配的id:', allIds); // 比如输出 ["371", "xxx", "yyy"]
  }
});

注意点

  • 一定要加data.results && data.results.length > 0的判断,避免当接口返回空数组或者results字段不存在时,出现Cannot read properties of undefined的错误,让代码更健壮。
  • 因为$.get是异步请求,如果要在回调函数外部使用targetId,需要考虑异步逻辑(比如用Promise、async/await改写,或者把后续操作放在回调内部)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:34:10