js发送get 、post请求的方法简介
POST请求:
发送的参数格式不同,请求头设置不同,具体参照 Http请求中请求头Content-Type讲解
发送的参数格式不同,后台获取方式也不相同 php请看 php获取POST数据的三种方法
一、使用XMLHttpRequest
主要分三步:
第一步:创建需要的对象,这里主要用到的是XMLHttpRequest,注意需要考虑早期的IE;
第二步:连接和发送;
第三步:接收;
GET请求:
1 2 3 4 5 6 7 8 9 10 11 12 | var httpRequest = new XMLHttpRequest(); //第一步:建立所需的对象 httpRequest.open( 'GET' , 'url' , true ); //第二步:打开连接 将请求参数写在url中 ps:"./Ptest.php?name=test&nameone=testone" httpRequest.send(); //第三步:发送请求 将请求参数写在URL中 /** * 获取数据后的处理程序 */ httpRequest.onreadystatechange = function () { if (httpRequest.readyState == 4 && httpRequest.status == 200) { var json = httpRequest.responseText; //获取到json字符串,还需解析 console.log(json); } }; |
POST请求:
1 2 3 4 5 6 7 8 9 10 11 12 13 | var httpRequest = new XMLHttpRequest(); //第一步:创建需要的对象 httpRequest.open( 'POST' , 'url' , true ); //第二步:打开连接 httpRequest.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); //设置请求头 注:post方式必须设置请求头(在建立连接后设置请求头) httpRequest.send( 'name=teswe&ee=ef' ); //发送请求 将情头体写在send中 /** * 获取数据后的处理程序 */ httpRequest.onreadystatechange = function () { //请求后的回调接口,可将请求成功后要执行的程序写在其中 if (httpRequest.readyState == 4 && httpRequest.status == 200) { //验证请求是否发送成功 var json = httpRequest.responseText; //获取到服务端返回的数据 console.log(json); } }; |
post方式发送json
1 2 3 4 5 6 7 8 9 10 11 12 13 | var httpRequest = new XMLHttpRequest(); //第一步:创建需要的对象 httpRequest.open( 'POST' , 'url' , true ); //第二步:打开连接/***发送json格式文件必须设置请求头 ;如下 - */ httpRequest.setRequestHeader( "Content-type" , "application/json" ); //设置请求头 注:post方式必须设置请求头(在建立连接后设置请求头)var obj = { name: 'zhansgan', age: 18 }; httpRequest.send(JSON.stringify(obj)); //发送请求 将json写入send中 /** * 获取数据后的处理程序 */ httpRequest.onreadystatechange = function () { //请求后的回调接口,可将请求成功后要执行的程序写在其中 if (httpRequest.readyState == 4 && httpRequest.status == 200) { //验证请求是否发送成功 var json = httpRequest.responseText; //获取到服务端返回的数据 console.log(json); } }; |
二、
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!