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

调用GET请求时拼接的用户输入ID字符串未被添加到URL中的问题

问题原因
  • 核心问题是字符串是JS基本数据类型,赋值时就已经完成计算生成固定值,不会随关联变量后续修改自动更新
  • 你定义const url的代码在全局作用域初始化执行,此时id是空字符串,url就已经被拼接为固定值https://www.someurl/?someurl.com,后续你修改id的值不会触发url的重新计算
  • 补充小问题:input标签没有textarea类型,要么使用<input type="text">要么使用独立的<textarea>标签,避免输入取值异常
修复方案

把url的拼接逻辑移到点击事件函数内部,每次触发点击时用最新的输入值拼接新的url即可。

修正后的HTML代码

<input type="text">
<button onclick="myFunction()">Click</button>

修正后的JS代码

function myFunction() {
  const input = document.querySelector('input');
  const id = input.value;
  // 每次点击时用最新的id拼接url
  const url = 'https://www.someurl/' + id +  '?someurl.com';
  console.log(id);
  console.log(url);
  const getXML = new XMLHttpRequest();
  getXML.responseType = 'json';
  getXML.open('GET', url);
  getXML.send();
  getXML.onreadystatechange = function () {
    // 增加请求完成、状态正常的判断,避免未完成请求就处理响应
    if (getXML.readyState === 4 && getXML.status === 200) {
      const response = getXML.response;
      console.log(getXML.status);
      console.log(response);
      console.log(id);
      console.log(url);
      console.log(typeof id);
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:51:03