通过form表单,ajax构造HTTP请求

这篇具有很好参考价值的文章主要介绍了通过form表单,ajax构造HTTP请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,form表单构造

form表单中重要参数:
action:构造的HTTP请求的URL是什么
method:构造的HTTP请求的方法是GET还是POST( form只支持GET和POST
input标签中的重要参数:
type:表示输入框的类型,text表示文本,password表示密码
name:表示构造的HTTP请求的query string中的key,query string的value则是用户输入的值
value:input的标签值,对于type为submit类型来说,value则是对应了按钮上显示的文本

1.发送GET请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--  -->
    <form action="http://www.sogou.com" method="get">
        <input type="text" name="text">
        <input type="password" name="password">
        <!-- input type=submit 构造了一个特殊的 提交 按钮 value属性描述了按钮中的文本 -->
        <!-- 点击这个按钮就会触发该 form 表单的"提交操作" 也就是构造http请求发送给服务器 -->
        <input type="submit" value="提交">
    </form>
</body>
</html>

页面效果如下:

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

假设输入内容为:text=1234 password:111111

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

抓包后的详细数据(此时请求中的body为空):

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

2.发送POST请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--  -->
    <form action="http://www.sogou.com" method="post">
        <input type="text" name="text">
        <input type="password" name="password">
        <!-- input type=submit 构造了一个特殊的 提交 按钮 value属性描述了按钮中的文本 -->
        <!-- 点击这个按钮就会触发该 form 表单的"提交操作" 也就是构造http请求发送给服务器 -->
        <input type="submit" value="提交">
    </form>
</body>
</html>

按照GET请求同样的操作进行输入:

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

抓包后的详细数据(输入的内容存储在请求的body中):

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

3.请求和HTTP请求之间的关系

  • form的action属性对应HTTP请求的URL

  • form的method属性对应HTTP请求的方法

  • input的name属性对应queryString的key

  • input的内容对应queryString的value

4.不同请求之间的区别

GET请求用户输入的内容会被构造成在query string中进行传输,为键值对结构;

POST请求用户输入的内容会被构造成在请求的body中进行传输,为键值对结构.

二,ajax构造

ajax构造HTTP请求的方式比form的功能更加强大,ajax不仅可以构造GET和POST请求,也可以构造PUT,DELETE,OPTIONS等方法的请求;ajax基于异步( 异步即当浏览器给服务器发送完请求操作之后,不需要一直等待服务器响应之后再继续执行后续操作,而是可以先往下执行,执行的过程中等待服务器响应完,当服务器给出响应之后,再执行代码内部的回调函数)等待的机制.

1.ajax引入jquery

代码中如何使用ajax:

  1. js原生提供的ajax api,但是原生的api特别难用(一般不用);

  1. jquery提供的ajax api,该api是针对原生api的封装,较为简单(用的较多)

引入jquery cdn:

  1. 下载jquery cdn(网址:https://www.bootcdn.cn/jquery/)

  1. 选择.min.js并复制链接

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

3.打开链接并复制页面中的所有内容

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

4.创建一个js文件将刚刚复制的内容进行粘贴

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

5.代码中引入该js文件

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

注意:

这里也可以直接引入第二步中的.min.js的链接,如下:

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档

但是该方法有一个缺点,当该.min.js网址转移时,次此链接就会失效

2.ajax构造请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 引入 jquery -->
    <script src="jquery.js"></script>
    <script>
        $.ajax({
            type: 'get',
            url: 'https://www.sougou.com?studentName=zhangsan',
            //此处success就声明了一个回调函数,就会在服务器响应返回到浏览器的时候触发该回调
            //正是此处的回调体现了 "异步"
            success: function(data) {
                //data是响应的正文部分
                console.log("服务器响应成功,执行回调函数");
            },
            error: function() {
                console.log("服务器响应失败!");
            }
        });
        console.log("浏览器立即往下执行后续代码");
    </script>
</body>
</html>

执行代码,打开控制台观察:

form表单提交设置请求头,计算机基础学习,http,ajax,开发语言,java,javascript,Powered by 金山文档
  1. 控制台先打印的最后一句话,可见ajax的异步机制,在发送完请求之后不会等待服务器响应,而是会先执行后续代码;

  1. 如果响应成功就会执行success里的回调函数,否则就会执行error里的回调函数;

  1. 这里响应失败的原因是,搜狗服务器并没有对ajax构造的请求进行处理,因为搜狗服务器和本地的浏览器之间的交互属于跨域访问,交互失败.文章来源地址https://www.toymoban.com/news/detail-752753.html

到了这里,关于通过form表单,ajax构造HTTP请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用element的form表单,实现显示后端错误信息,并且如果有错误信息(前端通过rules检测的错误信息或者后端传过来的错误信息(如该用户已经注册或该邮箱已经存))点击提交按钮不会再次发起异步请求

    前提(触发方式可以有两种触发 trigger: \\\'blur\\\'   或 trigger: \\\'change\\\' ) 主要是三个要点: 1.给el-form-item标签设置error属性,并且绑定data里面的数据(也即:error=\\\"emailError\\\"): 2.设置rules规则为 改变trigger触发方式,设置为trigger: \\\'change\\\' (如果是trigger: \\\'blur\\\',表单项(el-form-item)的input输入

    2024年02月03日
    浏览(48)
  • vue详细用法,ajax异步请求,案例分析 Element-ui组件使用,表单提交更新,下载,超详细

    标签及属性的使用 1.1 template 标签 1.2 form表单 1.2.1 ref属性 1.2.2 :model属性 1.2.3 :rules属性 1.2.4 label-width属性 1.2.5 el-row标签 1.2.5 el-col 标签 :span=\\\"12\\\"属性 1.2.5 el-form-item 标签 1.2.6 label 属性 1.2.7 prop属性 required 1.2.9 v-model属性 1.2.8 placeholder属性 效果图: 1.3 Select 选择器 当选项过多时,

    2023年04月12日
    浏览(91)
  • post请求设置表单form-data格式的几种方式

    我用默认的post方法发送数据的时候发现后端获取不到数据,然而在network中看到参数是的确传出去的了。而且用postman测试的时候也是可以的,比较了下两个的不同发现是postman使用的是form-data格式,于是用form-data格式再次请求,发现OJBK 这两种格式都是无法使用的:   方法一:

    2024年02月11日
    浏览(67)
  • 微信小程序的form表单提交

    第一:bindsubmit方法 注意: 1.使用form里面定义bindsubmit事件 2.bindsubmit事件需要配合button里面定义的formType=“submit” 操作 3.设置input的name值来获取对应的数据 通过e.detail.value获取数据, 其中包含input的value值 第二种:bindinput方法 注意: 1.在input框内使用bindinput属性的方式定义事件

    2024年02月11日
    浏览(37)
  • form表单提交数据如何拿到返回值

    使用form表单提交参数的时候,是依据input框里面的name值传给后端的,只需在form节点添加action以及提交方式就可以调通前后端。但是这种直接的操作是不能够判断接口是否调通的,是拿不到返回值的。这就意味着不能够做对应的操作。 1:引入jquery.form.js的插件,这是一个jqu

    2024年02月06日
    浏览(76)
  • CRM项目为新增用户设置对应的前端校验规则并发送Axios请求到后端将表单数据提交用户信息------CRM项目

    template     el-button type=\\\"primary\\\" @click=\\\"addUser()\\\"新增用户/el-button     el-button type=\\\"danger\\\"批量删除/el-button     el-table         :data=\\\"userList\\\"         style=\\\"width: 100%\\\"         @selection-change=\\\"handleSelectionChange\\\"             !-- 复选框    --         el-table-column type=\\\"selection\\\" width=\\\"33%\\\"

    2024年02月19日
    浏览(40)
  • (下篇)java通过http请求请求三方接口:设置请求头,请求体

    介绍:springcloud项目server子模块内部集成了低代码平台来配置通用列表查询,需要对低代码配置权限,低代码使用不了server模块的feign调用,只能用http请求去调用分布式项目的用户模块来获取权限,通过restTemplate调用接口,postman携带token信息可以直接调通用户中心,但是通过

    2024年02月04日
    浏览(40)
  • ant.design(简称antd)中Form表单组件提交表单、表单数据效验、表单自定义效验、表单布局集合

            ant.design(简称antd)现在我们使用较为广泛,web端中后台表单使用非常广泛,此遍文章集合了表单日常用法及使用注意事项。         下图是UI目标样式图                           1、以下是一个组件,首先引入ant相关依赖,在引入react相关依赖,主要使用了For

    2024年02月13日
    浏览(58)
  • vue实现多个el-form表单提交统一校验

    通过以下两种方法实现多个表单的统一校验: 1. 定义模板内容 在 el-form 表单中添加 ref 属性来获取表单组件对象 2. 方法一 在上述代码中,我们给每个 el-form 表单添加了 ref 属性,分别为 form1 和 form2,在 submit 方法中,分别对两个表单使用 validate 方法进行表单校验 3. 方法二

    2024年02月13日
    浏览(46)
  • Element ui form表单上传图片以及图片回显后提交表单validate校验失败

    1.页面加载时,由于接口响应参数赋值给初始化form表单的值时,造成初始化的imageCode值丢失。 下面展示一些 内联代码片 。 第一种情况 form表单赋值不正确 1.接口请求数据后直接赋值,导致imageCode属性丢失 说明 1.不能直接采用this.form=data;给form赋值,返回接口中没有imageCode时

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包