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

如何移除代码中的jQuery?求将指定jQuery代码转为原生JS的方法

当然可以!无需jQuery的替代方案

完全不用依赖jQuery就能实现你的需求,下面给你两种原生JavaScript的实现方式,分别适配现代浏览器和需要兼容旧浏览器的场景:

方案一:使用现代浏览器支持的 fetch API(推荐)

fetch 是浏览器原生的网络请求API,语法更简洁,基于Promise,现在大部分现代浏览器都支持。我们可以用它来替代$.post,同时用DOMContentLoaded事件替代jQuery的$(function())(确保DOM加载完成后执行代码):

document.addEventListener('DOMContentLoaded', function() {
  const url = '你的Webhook URL'; // 替换成实际的webhook地址
  const content = "Hiii";
  const username = "Hi";

  fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      content: content,
      username: username
    })
  })
  .then(response => {
    // 可以在这里处理请求成功的逻辑
    if (!response.ok) {
      throw new Error('请求失败');
    }
    console.log('消息发送成功');
  })
  .catch(error => {
    // 处理请求失败的情况
    console.error('发送消息时出错:', error);
  });
});

方案二:使用传统的 XMLHttpRequest(兼容旧浏览器)

如果你需要兼容一些不支持fetch的旧浏览器(比如IE),可以用XMLHttpRequest来实现,这也是jQuery底层发送请求的方式之一:

document.addEventListener('DOMContentLoaded', function() {
  const url = '你的Webhook URL';
  const content = "Hiii";
  const username = "Hi";

  const xhr = new XMLHttpRequest();
  xhr.open('POST', url, true);
  xhr.setRequestHeader('Content-Type', 'application/json');

  xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 300) {
      console.log('消息发送成功');
    } else {
      console.error('请求失败,状态码:', xhr.status);
    }
  };

  xhr.onerror = function() {
    console.error('网络请求出错');
  };

  xhr.send(JSON.stringify({
    content: content,
    username: username
  }));
});

补充说明

  • 原来的$(function())作用是等待DOM加载完成后执行代码,原生JS里对应的就是document.addEventListener('DOMContentLoaded', ...),如果你把脚本标签放在<body>的最后面(所有DOM元素之后),也可以省略这个事件监听,直接写请求代码。
  • 不管用哪种方式,都需要确保请求的Content-Type设置为application/json,因为我们发送的是JSON格式的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:42:50