【随笔】不引入外部包、使用原生js发送请求的几种方式
1.form表单提交
<form action="http://www.baidu.com" method="post">
<input type="text" name="name" value="123">
<input type="submit" value="提交">
</form>
只能单向提交,不能接收返回值。
2. XMLHttpRequest
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // 设置请求头
xhr.send(JSON.stringify({name: '123'})); // 发送请求,body。如果后端不接受body类型的请求,则直接将参数放在url中,这里只需写成xhr.send()即可
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
}
注意setRequestHeader必须在open之后,send之前设置,如果放在open之前则会报以下错:
Uncaught DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.
3. fetch
fetch需要es6的支持,nodejs需要v17.5.0以上版本
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify({name: '123'})
}).then(res => res.text()).then(res => console.log(res));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理