广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求
  • 635
分享到

如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

2024-04-02 19:04:59 635人浏览 泡泡鱼
摘要

小编给大家分享一下如何实现javascript原生封装ajax请求和Jquery中的ajax请求,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、原生ajax(1)html前端代码get请

小编给大家分享一下如何实现javascript原生封装ajax请求和Jquery中的ajax请求,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1、原生ajax

(1)html前端代码get请求方式创建一个ajax实例xhr open()方法传入三个参数,第一个是请求方式(一般为get和post),第二个参数是请求地址,第三个布尔值,true代表异步,false代表同步 send发送数据(get用不上,get发送的数据一般在链接后面,所以为显式传值,形式为键值对)绑定监听函数判断状态码 xhr.responseText得到返回数据

  var xhr = new XMLHttpRequest() 
  xhr.open("GET","js/text.js",true) 
  xhr.send()          
  xhr.onreadystatechange = function(){  //
   if(xhr.readyState === 4&& xhr.status === 200){ 
    var data = xhr.responseText 
    var datas = JSON.parse(data) 
    console.log(datas) 
   }
  }

控制台输出

如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

(2)html前端代码post请求方式 post传递方式需要设置头信息,实测简单的请求不设置也是可以这里的传值是放在send()方法里面的,所以为隐式传值,其他的都和get相同

  var xhr = new XMLHttpRequest() 
  xhr.open("POST","js/text.js",true) 
  xhr.setRequestHeader("Content-type","application/x-www-fORM-urlencoded"); 
  xhr.send()         
  xhr.onreadystatechange = function(){  
   if(xhr.readyState === 4&& xhr.status === 200){ 
    var data = xhr.responseText 
    var datas = JSON.parse(data) 
    console.log(datas) 
   }
  }

控制台输出

如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

(3)被请求js代码

{
 "name":"小明",
 "age":24,
 "array":[1,51,3,4,4,6,64]
}

2、函数封装 这里函数封装的一个ajax方法,用的时候直接调用该方法,传入设置参数即可

参数有请求类型type,请求地址url,传入数据data(本案例无,没有也需要“”占位),请求成功返回函数success(也可多加一个失败返回函数)

(1)前端JS代码

   function Ajax(type, url, data, success){
   
   var xhr = null; // 初始化xhr
   if(window.XMLHttpRequest){ //兼容IE
    xhr = new XMLHttpRequest();
   } else {
    xhr = new ActiveXObject('Microsoft.XMLHTTP')
   }
   
   var type = type.toUpperCase();
   
   var random = Math.random(); //创建随机数
   
   if(type == 'GET'){
    if(data){
     xhr.open('GET', url + '?' + data, true); //如果有数据就拼接
    } else {
     xhr.open('GET', url + '?t=' + random, true); //如果没有数据就传入一个随机数
    }
    xhr.send();
   
   } else if(type == 'POST'){
    xhr.open('POST', url, true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(data);
   }
   
   
   xhr.onreadystatechange = function(){  // 创建监听函数
    if(xhr.readyState == 4&&xhr.status == 200){
      success(xhr.responseText);
     } 
    }
  }
   
  Ajax('get', 'js/text.js', "", function(data){ //调用函数
   console.log(JSON.parse(data));
  });

(2)被请求js代码

{
 "name":"小明",
 "age":24,
 "array":[1,51,3,4,4,6,64]
}

控制台输出

如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

3、Jquery中的Ajax(先引入Jquery)(1)前端简单的JS代码 jquery中的ajax是被库封装好了的,我们直接用即可,下面是简单的ajax请求,它也有很多参数,但基础的就这些了

$.ajax({
   url:"./js/text.js", 
   type:"GET",  
   dataType:"json", 
   success:function(data){ 
    console.log(data)
   },
   error:function(res){ 
    console.log("请求失败!")
   }
  })

(2)被请求js代码

{
 "name":"小明",
 "age":24,
 "array":[1,51,3,4,4,6,64]
}

控制台输出

如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

看完了这篇文章,相信你对“如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网html频道,感谢各位的阅读!

--结束END--

本文标题: 如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求

本文链接: https://www.lsjlt.com/news/78817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求
    小编给大家分享一下如何实现JavaScript原生封装ajax请求和Jquery中的ajax请求,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、原生ajax(1)html前端代码get请...
    99+
    2022-10-19
  • 如何实现Jquery Ajax请求
    如何实现Jquery Ajax请求,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 jQuery确实是一个挺好的轻量级的JS框架,能帮...
    99+
    2022-10-19
  • 原生js+jquery+ajax请求以及jsonp如何调用
    这篇文章主要为大家展示了“原生js+jquery+ajax请求以及jsonp如何调用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“原生js+jquery+aja...
    99+
    2022-10-19
  • jQuery封装的ajax如何对JSON数据进行请求处理
    小编给大家分享一下jQuery封装的ajax如何对JSON数据进行请求处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现...
    99+
    2022-10-19
  • Ajax中如何实现jsonp跨域请求
    这篇文章主要介绍Ajax中如何实现jsonp跨域请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是跨域?简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他...
    99+
    2022-10-19
  • js与jQuery如何实现的兼容多浏览器Ajax请求
    这篇文章主要介绍js与jQuery如何实现的兼容多浏览器Ajax请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ajax我们经常会用到的,但网上找到的大部份ajax兼容性都不强,下...
    99+
    2022-10-19
  • vue中如何实现基于axios的ajax请求方法
    小编给大家分享一下vue中如何实现基于axios的ajax请求方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如下所示:imp...
    99+
    2022-10-19
  • nodejs如何实现原生的HTTP请求
    这篇文章主要介绍“nodejs如何实现原生的HTTP请求”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“nodejs如何实现原生的HTTP请求”文章能帮助大家解决问题。第一部分:创建一个HTTP请求在...
    99+
    2023-07-05
  • jQuery中ajax请求struts action实现异步刷新的示例分析
    小编给大家分享一下jQuery中ajax请求struts action实现异步刷新的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!第一步:导入相关jar包,本样例需导入struts...
    99+
    2022-10-19
  • jQuery中如何实现ajax请求后台返回json数据并渲染HTML
    小编给大家分享一下jQuery中如何实现ajax请求后台返回json数据并渲染HTML,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下...
    99+
    2022-10-19
  • 如何在Springmvc中利用ajax实现一个跨域请求
    今天就跟大家聊聊有关如何在Springmvc中利用ajax实现一个跨域请求,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。写一个类  继承HandlerInterceptor...
    99+
    2023-05-31
    springmvc ajax
  • 基于iframe如何实现ajax跨域请求以及获取网页中ajax数据
    这篇文章给大家分享的是有关基于iframe如何实现ajax跨域请求以及获取网页中ajax数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大家都知道,在不同域的情况下是不能发送a...
    99+
    2022-10-19
  • 微信小程序中如何实现http请求封装
    这篇文章将为大家详细讲解有关微信小程序中如何实现http请求封装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序  http请求封装示例代码wx.req...
    99+
    2022-10-19
  • 如何使用jQuery的ajax方法向服务器发出get和post请求
    这篇文章主要介绍如何使用jQuery的ajax方法向服务器发出get和post请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!打算写个ajax系列的博文,主要是写给自己看,学习下a...
    99+
    2022-10-19
  • 如何基于JS实现Ajax并发请求的控制详解
    目录前言 Ajax的串行与并行Ajax的并发请求控制的两大解决方案 基于Promise递归实现 基于Class实现 代码展示 总结 前言 最近看到一个面试题,当然了,就是这篇文章的...
    99+
    2022-11-12
  • 如何解决jquery中ajax多次请求数据时不刷新的问题
    这篇文章主要为大家展示了“如何解决jquery中ajax多次请求数据时不刷新的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决jquery中ajax多...
    99+
    2022-10-19
  • SpringMVC环境下如何实现的Ajax异步请求JSON格式数据
    小编给大家分享一下SpringMVC环境下如何实现的Ajax异步请求JSON格式数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2022-10-19
  • vue中axios如何实现重复点击取消上一次请求封装
    这篇文章主要为大家展示了“vue中axios如何实现重复点击取消上一次请求封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中axios如何实现重复点击取...
    99+
    2022-10-19
  • 如何使用Python实现高效的HTTP请求和二维码生成?
    随着现代互联网的迅速发展,HTTP请求已成为了现代应用开发的重要组成部分之一。同时,二维码的应用也越来越广泛,如何快速、高效地使用Python实现HTTP请求和二维码生成,成为了许多开发者需要掌握的技能。 本文将介绍如何使用Python实现...
    99+
    2023-09-21
    http 二维码 并发
  • 如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题
    这篇文章给大家分享的是有关如何解决jquery中ajax请求后台数据成功后既不执行success也不执行error的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jquery...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作