使用ajax发送异步请求

原生js实现以及jquery ajax实现发送请求


文章目录

  • 使用ajax发送异步请求
  • 简介
  • 实现方式
    • 1.原生js实现
      • 1.get请求
      • 2.post请求
    • 2.jquery ajax实现
      • 1.基本方式
      • 2.回调事件
    • 3. jquery中的封装函数
      • 1.$.post
      • 2.$.get
      • 3.$.getJSON
      • 4.$.getScript
  • 总结

简介

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML) 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面情况下,能够更新部分网页的技术。


同步和异步

  • 同步互交:指向服务器发送一个请求,需要等待返回,然后才能够发送下一个请求,期间有个等待过程;
  • 异步互交:指向服务器发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待;

实现方式

1.原生js实现

1.get请求

代码如下(示例):

// 创建请求对象
var xhr = new XMLHttpRequest()// 封装参数对象
var data = {id: 1,name: "张三"}// 配置请求方法,设置请求接口地址
//同步或异步请求:true(异步)或 false(同步)
xhr.open('get', 'http://localhost:8080/api?' + JSON.stringify(data),true)//发送请求
xhr.send()// 获取网络请求响应的数据
xhr.onreadystatechange = function () {// 响应完毕,并且请求成功if (xhr.readyState === 4 && request.status === 200) {var res = JSON.parse(xhr.responseText)//.....}}

2.post请求

代码如下(示例):

// 1.创建一个实例对象var xhr = new XMLHttpRequest()// 需要传递的数据var data = {id: 1,name: '张三'}// 2.打开一个连接//同步或异步请求:true(异步)或 false(同步)xhr.open('post', 'http://localhost:8080/api',true);// 设置请求头 告诉后端我们要发送的是什么格式的数据xhr.setRequestHeader('Content-Type', 'application/json')// 3.发送请求// 发送json数据xhr.send(JSON.stringify(obj))// 4.接收响应xhr.onreadystatechange = function () {// 请求发送完成 请求成功if (xhr.readyState === 4 && xhr.status === 200) {var res = JSON.parse(xhr.responseText)console.log(res);//。。。。。}}
}

2.jquery ajax实现

jquery地址

1.基本方式

代码如下(示例):

$.ajax({//缓存cache: false,//是否异步请求async: async == undefined ? true : async,//请求地址url: 'http://localhost:8080',//请求类型type: method == undefined ? "POST" : method,contentType: contentType == undefined ? 'application/json; charset=UTF-8': contentType ,// 设置的是请求参数data: {id: 1,name: '张三'},//设置响应体的类型dataType: 'json', //回调函数success: function (res) {// 设置了 dataType 选项客户端会主观认为服务端返回的就是 JSON 格式的字符串console.log(res);}});

2.回调事件

代码如下(示例):

$.ajax({//缓存cache: false,//是否异步请求async: async == undefined ? true : async,//请求地址url: 'http://localhost:8080',//请求类型type: method == undefined ? "POST" : method,contentType: contentType == undefined ? 'application/json; charset=UTF-8': contentType ,// 设置的是请求参数data: {id: 1,name: '张三'},//设置响应体的类型dataType: 'json', // 在所有发送请求的操作(open, send)之前执行beforeSend: function (request) {       request.setRequestHeader("Authorization", CoreUtil.getData("token"));},// 请求成功(状态码为200)执行这个函数success: function (res) {console.log(res);},// 请求不正常(状态码不为200)执行error: function (res) {console.log('error', res);},// 不管是成功还是失败都是完成,都会执行这个 complete 函数(一般成功与失败都需要执行的操作写在这里)complete: function (res) {console.log('complete', res);}

3. jquery中的封装函数

1.$.post

语法:$.post(url,data,function(data,status,xhr),dataType);

代码如下(示例):

 $.post("http://localhost:8080/api",data,function(res){if(res.success){alert("成功");}else{alert("失败");}},"json");

2.$.get

语法:$.get(url,data,function(data,status,xhr),dataType)

代码如下(示例):

 $.get("http://localhost:8080/api",data,function(res,status){if(res.success){alert("成功");}else{alert("失败");}},"json");

3.$.getJSON

描述:发送get请求,并将数据转为json数据
语法:$.getJSON(url,data,function(data,status,xhr))

代码如下(示例):

$.getJSON('http://localhost:8080/api', data, function (res) {alert(res)});

4.$.getScript

描述:执行一个js文件的代码
语法:$.getScript(url, [callback])

代码如下(示例):

//url:待载入 JS 文件地址。
//callback:成功载入后回调函数。
$.getScript("ajax.js", function (data, Status, xhr) { alert("加载成功");});

总结

以上就是今天要讲的内容,本文介绍了ajax的使用方式以及jquery的一些封装函数,希望对大家有帮助。公众号 “俊俊同学的笔记”

Ajax异步请求方法(详细)相关推荐

  1. jQuery使用ajax异步请求400解决方法

    jQuery使用ajax异步请求访问状态码400解决方法: 先直接上结论:首先检查下自己使用的请求方式,我原来用的是post方式,更改为ajax之后就解决了,才反应过来应该是版本不兼容的问题! < ...

  2. AJAX 异步请求详细教程

    文章目录 AJAX 异步请求 简介 Jquery 版 Ajax $.ajax() -- Jquery提供的 ajax 函数 注册验证用户名是否可用 $.get() 与 $.post() Ajax 返回 ...

  3. php原生的异步请求,原生JavaScript实现Ajax异步请求

    ajax现在是一种非常流行的技术,现在虽然可以利用JQuery或者一些第三方插件甚至微软提供的一些控件可以方面的实现ajax功能,但是明白其原理也是非常重要的,下面是来使用纯javascript实现获 ...

  4. 从浅到深,带你彻底搞懂AJAX异步请求

    在平时开发过程中,异步请求似乎比同步请求出现的频率还要高一些.这是为什么呢?在同步请求时如果对网页的部分内容进行更新时,是不是就必须重载整个页面.这样肯定是不行的,这时就可以采用异步请求来解决此问题. ...

  5. 如何判断一个请求是否是Ajax异步请求

    前言 今天在看项目过程中,发现了一段代码.是用来判断一个请求是否是ajax请求,出于好奇,我研究了一番. 代码预览 /*** 是否是Ajax异步请求* * @param request*/public ...

  6. html弹窗赋值给查询框,bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)...

    /查询单个 function query(id) { $.ajax({ url : "/small/productServlet", async : true, type : &q ...

  7. php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...

  8. python django异步访问_初试Ajax异步请求(基于Django框架)

    概要: Ajax异步请求数据之前就听朋友提起过,但是之前一直没有什么机会使用这个技术,就没有去了解,后面在做网站评论这一功能时,为了使用户评论之后不用刷新网页就能够看到刚刚评论的数据,所以决定使用Aj ...

  9. jquery的ajax异步请求接收返回json数据

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以.这篇文 ...

最新文章

  1. 使用Jupyter notebooks上传文件夹或大量数据到服务器 有解压缩ZIP
  2. hdu1251 hash或者字典树
  3. ajax传向前台的html代码里又有事件的时候,绑定事件失败解决方法
  4. vncview 多屏_OpenStack中VNC协议实现多屏共享(多屏不踢访问)
  5. Python 是怎么火起来的? 转载 2018年01月12日 00:00:00 133 图:Python 之父 Guido 正在设计 Python 语言,结果家里突然潜入一条大蟒蛇,一番激烈斗争,大
  6. SpringBoot指南(六)——错误页面、单元测试、文件上传
  7. python activiti bpmn_Activiti 用户指南(BPMN 2.0介绍)
  8. 蚂蚁森林用户须知_公益传播视角下“蚂蚁森林”的用户使用行为研究
  9. BMC AR 配置AREA LDAP
  10. 二极管 三极管 mos管
  11. 为什么C语言执行效率高,运行快?
  12. 用户界面、交互体验设计优秀的产品
  13. 浏览器网页翻译插件选十大翻译器网页翻译插件
  14. 一文搞定BP神经网络——从原理到应用(原理篇)
  15. 电大php考试,电大考试搜题神器免费
  16. 朗逸保险丝安培数及保险丝配置说明
  17. 华为影像XMAGE:求尽世间像,终见菩提心
  18. java 常量字符串过长_编译出错:对于常量池来说,字符串表示的UTF过长,那我想知道,JVM的常量池到底有多大?...
  19. php 顿号转义,PHP实现将标点符号正则替换为空格的方法
  20. http://39.98.219.132 题库标准答案(题库序号:179)之判断素数

热门文章

  1. Java银行管理系统
  2. html旅游网站作品简介,旅游网站html模板
  3. spyglass使用教程
  4. 2020-11-30 09:51:55 精确到秒的时间戳
  5. 现代循环神经网络 - 序列到序列学习
  6. VS2019中字符串函数的使用
  7. input tabIndex说明
  8. Java SE 005 运算符 续
  9. docker-desktop和docer历史版本下载
  10. 关于linux下的xinetd服务