传统表单提交
Get请求方式
Post请求方式
请求报文

传统表单提交

在Ajax 中,我们需要自己拼接请求参数

  1. GET 请求方式

  1. POST 请求方式

1. GET 请求

应用:ajax 进行表单提交,服务器端获取请求参数

  • 在客户端,我们要把 姓名和年龄 拼接成请求参数的格式
  • 格式如下:username=123&age=456
  • 在传统表单提交中,请求参数 是自动拼接好的,而ajax 中这个参数需要我们自己去拼接
  • 并且,这个参数需要放在 请求地址 的后面

03-传递get请求参数.html 部分代码:

btn.onclick = function() {// 2. 在用户点击按钮的时候去创建 ajax 对象,然后去发送请求var xhr = new XMLHttpRequest()// 用户点击按钮的时候,我们也要获取到 两个文本框的值var nameValue = username.valuevar ageValue = age.value// 自己拼接请求参数var params = 'username=' + nameValue + '&age=' + ageValue// 配置 ajax 对象xhr.open('get', 'http://localhost:3000/get?' + params)// 发送请求xhr.send()// 获取服务器端响应的数据xhr.onload = function() {console.log(xhr.responseText);}}

app.js 对应代码:

// 对应 03html文件
app.get('/get', (req, res) => {// req.query 返回的就是客户端传来的 get请求参数res.setHeader("Access-Control-Allow-Origin", "*") // 允许跨域res.send(req.query) // 把 get请求参数 响应到客户端
});

浏览器中的 network 显示:

浏览器中的 控制台 显示:

2. POST 请求

  • post请求参数要放到 send()方法中
  • xhr.setRequestHeader()方法是用来设置 请求报文当中的报文头信息
  • 第一个参数是报文属性名称 ,第二个参数是 报文属性对应的值
  • 如果请求参数的类型是:username=123&age=45,则第二个参数是’application/x-www-form-urlencoded’

注意:服务器端要获得post 请求参数,需要借助中间件 body-parser。然后就可以使用 req.body 获得post 请求参数。(以前的方法)

但是,在新的语法中,不再需要body-parser这个中间件了,express框架已经实现了对post 参数的解析。

//express框架已经实现了对post 参数的解析。const app = express();// app.use(bodyParser.urlencoded());  这个语法已被弃用app.use(express.json())
app.use(express.urlencoded({ extended: false }))并且,获取post参数方法依旧是req.body

04-传递post请求参数.html部分代码:

var params = 'username=' + nameValue + '&age=' + ageValue// 配置 ajax 对象xhr.open('post', 'http://localhost:3000/post')// 设置请求参数的格式的类型(post请求必须要设置)xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')// 发送请求xhr.send(params)// 获取服务器端响应的数据xhr.onload = function() {console.log(xhr.responseText);}

app.js 对应的代码:

// 对应 04html文件
app.post('/post', (req, res) => {res.setHeader("Access-Control-Allow-Origin", "*") // 允许跨域res.send(req.body) // 响应给客户端
});

3. 请求报文

在 HTTP 请求和响应的过程中传递的数据块就叫 报文,包括 要传送的数据和一些附加信息,这些数据和信息要遵守规定好的格式。

  • 报文分为 报文头报文体
  • 报文头和报文体在请求的过程中,整体被发送到服务器端。

报文头:

  • 报文头 中存储的是一些键值对信息,可以理解为:客户端向服务端说的话
  • 例如,示例中的 Content-Type 就属于报文头信息

报文体:

  • 主要存储一些内容,比如 post请求参数

ajax 传递请求参数相关推荐

  1. ajax传递多参数类型,Ajax传递不同类型的参数

    1.目录结构: 1.传递普通的参数 2.传递对象 3.传递List 4.传递数组 1.1 前端页面 前端页面.png 1.2 HTML代码 注意:需要引入layui噢 button{ margin-t ...

  2. ajax的请求参数详解以及前后台交互详解

    function rejectSub(){//从隐藏域中拿到userIDvar userId = $("input:hidden[name='userId']").val();va ...

  3. gin ajax 获取请求参数,gin请求参数处理

    本章介绍Gin框架获取请求参数的方式 1.获取Get 请求参数 Get请求url例子:/path?id=1234&name=Manu&value=111 获取Get请求参数的常用函数: ...

  4. jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明

    jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注 smsubmitclick = ...

  5. ajax传递map参数给后端

    向后端传递一个参数 /*** 前端ajax代码部分*/var map = '{"account":"' + account + '"}'; //设定一个事件触发 ...

  6. ajax传递数组参数

    var arr=new Array(); arr[0]='param'; arr[1]='param2'; $.ajax({url:请求地址,data:{params:arr},type:" ...

  7. Ajax——设置请求参数

    1.目录结构 2.需求: 点击按钮获取服务端响应的结果 3. 代码展示 <!DOCTYPE html> <html lang="en"> <head& ...

  8. gin ajax 获取请求参数,go的gin框架从请求中获取参数的方法

    前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST   /post/te ...

  9. ajax传递复杂参数

    使用mvc测试Demo ================view================ @{ViewBag.Title = "Index";Layout = null; ...

  10. ajax get传递数组参数吗,ajax 传递数组参数

    我的参数中有数组: 比如var req = { ids: [1, 2, 3]} ajax 写法必须把 req 进行字符串化,然后设置 contentType: "application/js ...

最新文章

  1. 什么是第三方物流管理?如何套用模板进行绘制
  2. Asp.net生成Excel文件并下载(解决使用迅雷下载页面而不是文件的问题)
  3. CentOS7上安装KVM部署虚拟机
  4. 每天一道LeetCode-----数独盘求解
  5. 分析酸对酸性染料染羊毛染色性能的影响?举例说明酸性染料染羊毛时,如何选择合适的染浴pH值?并说明原因。
  6. extends 抽象方法_关于abstract抽象类的理解
  7. 简单的反U盘病毒(删除不了的畸形文件夹)
  8. 计算文件的hash值方法 | 使用powershell 以及 使用python
  9. PPC软件安装方法汇总
  10. 浅析人脸识别算法及其应用
  11. 我的团长我的团 原著小说 文字版
  12. 专用计算机的运行速度,WIN10专业版下电脑运行速度慢多个解决技巧
  13. 解决谷歌浏览器提示您的链接不是私密链接
  14. GitLab系列3 Unicorn
  15. 空间中两随机向量间夹角的概率密度分布(越高维,越趋向于正交)
  16. 链路捆绑与端口聚合原理与实验结合理解小白看了都秒懂(华为ensp模拟器)不懂不可能的
  17. python支持保护类型_1.7. 保护、继承、多态
  18. 页面设计之论坛网页设计欣赏(前端)
  19. 启动SpringBoot报错:Field userService in com.sunshin.controller.UserController required a bean of type...
  20. 前端成神之路-HTML

热门文章

  1. html csshr标签属性,HTML+CSS入门 h标签和p标签以及hr标签学习
  2. 2019-9-2-win10-uwp-切换主题
  3. 上传大文件报错413问题处理
  4. 写给准备參加秋招的学弟学妹们~一定要来看哦~
  5. 【Redis 系列】redis 学习十五,redis sds数据结构和底层设计原理
  6. python登录接口并发测试_使用python脚本作接口并发测试
  7. 谷歌(Chrom)浏览器遇到同步已暂停的解决办法
  8. YOYOW-WeCenter特别版免费开源发布,一小时建立你的问答社区
  9. 区块链(BTC)学习总结1
  10. MySQL数据库必会的增删查改操作(CRUD)