在 node 中使用 jquery ajax
对于前端同学来说,ajax 请求应该不会陌生。jquery 真的ajax请求做了封装,可以通过下面的方式发送一个请求并获取相应结果:
$.ajax({ url: "https://echo.apipost.cn/get.php", data: formData, type: "POST", processData: false, contentType: false, success: function (data, status, xhr) { console.log(data, status, xhr) }, error: function (xhr, status, error) { console.log(xhr, status, error) }, complete: function (xhr, status) { console.log(xhr, status) } })
但是,在 node 环境中,就需要一些其他库实现接口发送,例如GOT、request 等。当然,也可以通过在node 中安装 jquery 来使用上面 $.ajax 的方法,但是会有一个很要命的问题:跨域。
何为跨域?
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。也就是违反了“同源策略”:
同源策略是一个重要的安全策略,它用于限制一个origin的文档或它加载的脚本如何能与另一个源的资源进行交互。能够减少恶意文档,减少可能被攻击媒介。 如果两个URL的协议、域名、端口号都相同,就称这两个URL同源。
浏览器默认两个不同的源之间是可以互相访问资源和操作DOM的。两个不同的源之间若是想要访问资源或者操作DOM,那么会有一套基础的安全策略的制约,我们把这称为同源策略。它的存在可以保护用户隐私信息,防止身份伪造。

使用 ajax-for-node 实现 $.ajax
ajax-for-node (https://www.npmjs.com/package/ajax-for-node)是一个在 node 环境下实现 $.ajax 的库,它的所有参数格式和 $.ajax 完全一致。
const nodeAjax = require('ajax-for-node'); var formData = new FormData(); formData.append("username", "Groucho"); formData.append("accountnum", 123456); nodeAjax({ url: "https://echo.apipost.cn/get.php", data: formData, type: "POST", processData: false, contentType: false, success: function (data, status, xhr) { console.log(data, status, xhr) }, error: function (xhr, status, error) { console.log(xhr, status, error) }, complete: function (xhr, status) { console.log(xhr, status) } });
github:https://github.com/Apipost-Team/nodeajax
npm :https://www.npmjs.com/package/ajax-for-node
分类:
接口调试工具
, javascript技术分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!