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

如何用JavaScript向后端发送处理后的URL哈希片段数据?

解决方案

1. 发送bar数据到目标地址

直接在原script标签里添加发送逻辑即可,这里用易懂的fetch API实现:

<script>
var foo = bar;

// 定义发送数据的函数
function sendBarData() {
  // 发送POST请求(后端要求GET的话看下方简化写法)
  fetch('http://example.com/get-data/', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ bar: bar }) // 把bar包装成后端易解析的JSON格式
  })
  .then(res => {
    res.ok ? console.log('发送成功') : console.log('发送失败');
  })
  .catch(err => console.error('请求出错:', err));
}

// 调用函数发送数据
sendBarData();
</script>

如果后端接受GET请求,可以简化为:

// GET方式发送,数据直接拼在URL后
fetch('http://example.com/get-data/?bar=' + encodeURIComponent(bar))
.then(res => {
  res.ok ? console.log('发送成功') : console.log('发送失败');
})
.catch(err => console.error('请求出错:', err));

2. 发送处理后的哈希令牌到后端

修改你已有的代码,添加发送逻辑即可:

<body>
  <script>
    var hash_token = window.location.hash;
    var removed_hash_token = hash_token.slice(1); // 规范声明变量
    console.log('处理后的令牌:', removed_hash_token); // 替代alert,更适合生产环境调试

    var get_token_url = "http://localhost:8000/";

    // 发送令牌到后端
    function sendToken() {
      fetch(get_token_url, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({ token: removed_hash_token })
      })
      .then(res => {
        res.ok ? console.log('令牌发送成功') : console.log('令牌发送失败');
      })
      .catch(err => console.error('请求出错:', err));
    }

    sendToken();
  </script>
</body>

同样,如果后端用GET接收,改成:

fetch(get_token_url + '?token=' + encodeURIComponent(removed_hash_token))
.then(res => {
  res.ok ? console.log('令牌发送成功') : console.log('令牌发送失败');
})
.catch(err => console.error('请求出错:', err));

注意事项

如果浏览器控制台出现跨域相关错误,需要后端配置CORS规则,允许当前页面的域名访问后端接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:45:44