【JavaEE】_ajax构造HTTP请求

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

目录

1. ajax简述

2. ajax构造HTTP请求

2.1 jquery库的引入

2.2 ajax构造HTTP请求格式

3. ajax构造GET请求实例

4. ajax构造POST请求实例


本专栏关于form表单构造HTTP请求一文中已经提到:form表单构造法只支持GET和POST,且会触发页面跳转。

原文详情链接如下:

【JavaEE】_form表单构造HTTP请求-CSDN博客

为了解决这两个问题,又引出了ajax构造HTTP请求的方法:

1. ajax简述

1.ajax本质是用js提供的API来构造HTTP请求

同时对于服务器返回给客户端的响应,同样可以使用js灵活处理,给前端代码带来了更多的可操作空间;

2. 当今网站的的主体都是通过ajax的方式进行交互的;

3. 浏览器原生也提供了ajax的API,但并不方便实用,步骤繁琐。因此有一些第三方库封装了ajax,本专栏使用 jquery 库封装的ajax

2. ajax构造HTTP请求

2.1 jquery库的引入

可从以下链接引入jquery库:

https://www.bootcdn.cn/jquery/

操作如下:

【JavaEE】_ajax构造HTTP请求,JavaEE,java-ee,ajax,http

2.2 ajax构造HTTP请求格式

1. $ 是一个jquery定义的全局变量名,可以通过这个变量调用一些方法,使用jquery中的API;

2. $.ajax();中传递的参数是一个对象,在js中,{}表示一个对象,在{}内部使用键值对描述属性名与属性值:

【JavaEE】_ajax构造HTTP请求,JavaEE,java-ee,ajax,http

3. 对象的属性值可以是一个函数,比如可以写为:

    <script>
        // 此时函数名就为callback
        function callback(body){

        }
        $.ajax({
            type: 'get',
            url: 'https://www.sogou.com/abc.html',
            success:callback,
        });
    </script>

但是这种写法并不常见,通常会使用匿名函数的形式

    <script>
        $.ajax({
            type: 'get',
            url: 'https://www.sogou.com/abc.html',
            success:function(body){
                
            }
        });
    </script>

此处函数并不是立即返回的,而是服务器返回200这样的响应时才会执行到success,即:

success执行时机不是程序员自己能控制的,而是在合适的时候自动被调用的,这样的函数被称为回调函数

常见的回调函数还有:函数指针,Comparable和Comparator,compareTo,compare函数,线程中的run方法等等

4. 函数的参数为body即HTTP响应的body内容,为了方便调试,通常会使用console.log对body进行打印;

5.  此时构造的get请求没有query string,可以直接进行拼接,如:

    <script>
        let value1 = '1';
        $.ajax({
            type: 'get',
            url: 'https://www.sogou.com/abc.html?' + 'key1='+value1,
            success:function(body){
                console.log(body);
            }
        });
    </script>

注意js的定义变量直接使用let进行定义,变量具体类型是根据=后面初始化的值的类型来确定的;

3. ajax构造GET请求实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ajax</title>
</head>
<body>
    <!-- 1. 引入jquery库 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <!-- 2. 再引入一个script标签用于编写自定义内容 -->
    <script>
        let value1 = '1';
        $.ajax({
            type: 'get',
            url: 'https://www.sogou.com/abc.html?' + 'key1='+value1,
            success:function(body){
                console.log(body);
            }
        });
    </script>
</body>
</html>

运行程序;

可以使用Fiddler抓包查看请求与响应详情:

HTTP请求:

【JavaEE】_ajax构造HTTP请求,JavaEE,java-ee,ajax,http

HTTP响应:

【JavaEE】_ajax构造HTTP请求,JavaEE,java-ee,ajax,http

4. ajax构造POST请求实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ajax</title>
</head>
<body>
    <!-- 1. 引入jquery库 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <!-- 2. 再引入一个script标签用于编写自定义内容 -->
    <script>
        let body = {
            key1: 1,
            key2: 2
        };
        $.ajax({
            type: 'post',
            contentType: "application/json",
            data: JSON.stringify(body),
            url: 'https://www.sogou.com/abc.html',
            success:function(body){
                console.log(body);
            }
        });
    </script>
</body>
</html>

注:1. JSON.stringfy()可以将一个js对象转成一个JSON格式的字符串,即把前文的body对象转为了JSON格式的字符串data;

2.注意ajax构造post请求与构造get请求的不同,包括body部分的对象需转为JSON格式字符串,无需url的query string部分等等;

3. 此例为ajax构造的POST请求发送给搜狗服务器,但并不是所有的路径都支持ajax的POST请求,此例仅用于展示ajax构造POST请求的格式。后续自行完成服务器的编写才可以实现相应的服务器配合;文章来源地址https://www.toymoban.com/news/detail-836092.html

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

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

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

相关文章

  • 【JavaEE初阶】HTTP请求的构造及HTTPS

    【JavaEE初阶】HTTP请求的构造及HTTPS

    常见的构造HTTP 请求的方式有以下几种: 直接通过浏览器地址栏, 输入一个 URL 就可以构造出一个 GET 请求. 直接点击收藏夹, 得到的也是 GET 请求. HTML 中的一些特殊标签也会触发 GET 请求, 如: link, script, img, a… 还可以通过 form 表单标签来实现 GET/POST 请求的构造. 通过 JS 中的 aj

    2024年02月15日
    浏览(17)
  • JavaEE & HTTP状态码 & HTTP数据报的构造

    JavaEE & HTTP状态码 & HTTP数据报的构造

    HTTP状态码 HTTP数据报的构造 c语言也学到了一个全局的变量errno,在一些内存函数或者文件操作的时候,这个变量会有所变化,如果程序出错了,这个变量对应的值就代表了对应的错误信息,【errno - error no(number)】,通过一些函数去解析这个错误码就可以了~ 而HTTP的状态码,就

    2024年02月07日
    浏览(13)
  • 【JavaEE】HTTP状态码-HTTP数据报的构造

    【JavaEE】HTTP状态码-HTTP数据报的构造

    HTTP状态码 HTTP数据报的构造 c语言也学到了一个全局的变量errno,在一些内存函数或者文件操作的时候,这个变量会有所变化,如果程序出错了,这个变量对应的值就代表了对应的错误信息,【errno - error no(number)】,通过一些函数去解析这个错误码就可以了~ 而HTTP的状态码,就

    2024年02月07日
    浏览(9)
  • 【HTTP 协议2】如何构造 HTTP 请求

    【HTTP 协议2】如何构造 HTTP 请求

    各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等 📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议

    2024年02月12日
    浏览(19)
  • 网络原理 - HTTP / HTTPS(4)——构造http请求

    网络原理 - HTTP / HTTPS(4)——构造http请求

    目录 一、postman 的下载安装以及简单介绍 1、下载安装 2、postman的介绍 二、通过 Java socket 构造 HTTP 请求         构造http请求的方式有两种: (1)通过代码构造 (有一点难度)        (2)通过第三方工具构造 (非常容易)。         下面介绍第三方工具构造http请求,这

    2024年04月17日
    浏览(16)
  • 高效便捷构造 Http 请求

    高效便捷构造 Http 请求

    对于Get请求: 地址栏直接输入 点击收藏夹 html 中的 link script img a… form 标签 这里我们重点强调 form 标签构造的 http请求 使用 form 标签构造http请求. form 的重要参数: action: 构造 http 请求的 URL 是什么 method:构造 http 请求的方法是 GET 还是 POST(form 仅支持 GET 和 POST) input 的重要参数

    2023年04月14日
    浏览(10)
  • 【JavaEE】_HTTP请求首行

    【JavaEE】_HTTP请求首行

    目录 1. URL 2. 方法 2.1 GET方法 2.2 POST方法 2.3 GET与POST的区别 2.4 低频使用方法 在mysql JDBC中已经提到过URL的相关概念: 如需查看有关JDBC更多内容,原文链接如下: 【MySQL】_JDBC编程-CSDN博客 URL用于描述某个资源在网络上的所属位置,数据库也是一种资源故而在JDBC中使用URL描述

    2024年02月19日
    浏览(10)
  • Ajax-概念、Http协议、Ajax请求及其常见问题

    Ajax-概念、Http协议、Ajax请求及其常见问题

    其他AJAX知识 AJAX同源策略及跨域问题解决方案——点击此处 AJAX请求的不同发送方式——点击此处 AJAX 全称为Asynchronous Javascript And XML,就是 异步的JS和XML 。通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势: 无刷新获取数据 。AJAX 不是新的编程语言,而是一种将现

    2024年02月13日
    浏览(15)
  • Http请求响应 Ajax 过滤器

    Http请求响应 Ajax 过滤器

    10/10/2023 近期总结:         最近学的后端部署,web服务器运行,各种请求响应,内容很多,学的很乱,还是需要好好整理,前面JavaSE内容还没有完全掌握,再加上一边刷题,感觉压力很大哈哈。看群友们都在说找工作难,又会被打击,不过感觉一切都以实力说话,提升自己

    2024年02月07日
    浏览(15)
  • 【JavaEE】_HTTP请求报头header

    【JavaEE】_HTTP请求报头header

    目录 1. Host 2. Content-Length与Content-Type 2.1 Content-Length 2.2 Content-Type 3. User-Agent(UA) 4. Referer 5. Cookie header的整体格式是“键值对”结构,一行是一个键值对,这些键值对都是HTTP定义好的、有特殊含义的。 常见的报头种类有: Host表示访问的服务器主机的地址与端口号(端口号可

    2024年02月20日
    浏览(11)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包