ajax异步请求的步骤_如何用ajax实现异步请求

(5) 2024-06-14 21:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
ajax异步请求的步骤_如何用ajax实现异步请求,希望能够帮助你!!!。

$.ajax()简单介绍

AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分

$.ajax()是万能的,是最基础,最全面的那个;剩余的方法都是针对某种特定场景下的$.ajax()的简化形式 $.ajax()、$.post()、$.get()这三个方法都是Ajax方法中一种与服务器交换数据的请求类型。 $.post() 是post请求时的$.ajax()的简写形式; $.get()get请求时的$.ajax()的简写形式。 

$.ajax()基础浏览器请求和响应头常识

1.携带的参数data是可选的,关注var xhr = createXHR();
$.ajax contentType 和 dataType ,
contentType 主要设置你发送给服务器的格式,
dataType设置你收到服务器数据的格式
ContentType 用来告诉服务器当前发送的数据是什么格式
Accept 用来告诉服务器,客户端能认识哪些格式,最好返回这些格式中的其中一种
consumes 用来限制ContentType
produces 用来限制Accept

在http 请求中,get 和 post 是最常用的。在 jquery 的 ajax 中, contentType都是默认的值:application/x-www-form-urlencoded, 这种格式的特点就是,name/value 成为一组,每组之间用 & 联接,而 name与value 则是使用 = 连接。 如: wwwh.baidu.com/q?key=fdsa&lang=zh 这是get, 而 post 请求则是使用请求体,参数不在 url 中, 在请求体中的参数表现形式也是: key=fdsa&lang=zh的形式。 如果传递的data数据是单层嵌套的json格式字符串,则默认格式即可,如果是有多层嵌套的复杂json格式字符串, 则需要修改contentType:‘application/json’,不然服务端拿不到数据。 

$.ajax()基础写法

$.ajax({ 
   url,type,data,dateType,callback(success,error)}); $.post(url,data,callback,type); 
<script type="text/javascript" src="js/jquery-3.5.1.js" ></script> #这个record象征接收传参 function wait_Dispatch_Function(record){ 
    debugger; var parameter = { 
   id:record.id}; $.ajax({ 
    url:"", type:"", data: { 
   id:record.id}, dataType:"json", //服务器数据返回类型 success:function (res,xhr) { 
   }, error:function (xhr,status,info) { 
   alert("获取结果失败",xhr+status+info);} }) } 

$.ajax()写法分析

1.type:请求方式,常见post、get方式
2.data:请求携带的参数携带的参数data是可选的
3.dataType:告诉服务器接收返回的数据类型为json,就是接口返回的数据类型为json才能匹配此路径,
那么此接口在返回数据的时候做返回数据类型的处理,常用的是JSONObejec方法封装key 和 value
4.success:接口请求服务器处理成功执行的函数
5.error:接口请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。
注意:ajax中success反映的是请求接口成功或者失败的一种状态

$.ajax()简写 post方式

语法格式

selector:选择器 $(selector).post(URL,data,function(data,status,xhr),dataType).error(function (xhr, status, info) { 
    alert("error"); }); dataType:告诉服务器接收返回的数据类型为json,就是接口返回的数据类型为json才能匹配此路径, 那么此接口在返回数据的时候做返回数据类型的处理,常用的是JSONObejec方法封装key 和 value 

简写举例:

function wait_Dispatch_Function(record) { 
    $.post("url",{ 
   id:record.id},function (res) { 
    if(res.result == "success"){ 
   //一种判断标志的定义  var data =res.yourKeyName; var message =res.message;    //依次类推其他相关处理,比如给前台数据赋值刷新页面   ...... } else{ 
    } },"JSON").error(function (xhr, status, info) { 
    //根据xhr状态码继续细分并返回给前端浏览器 if(xhr.status == 500){ 
         //do something 服务器内部错误 alert("提示:服务器内部错误");    } if(xhr.status == 404){ 
         //do something 路径错误      alert("提示:路径找不到");    }    //依次类推    ...... alert("error"); }); } 

$.ajax()请求的接口内的数据处理

举例

#控制层 @Controller @RequestMapping("/yourFunction") public class yourFunctionController { 
    @Autowired yourClassService yourService; @RequestMapping("/yourFunctiondetailway") @ResponseBody String yourFunctiondetailway(Integer id) { 
    return yourService.yourFunctiondetailway(id); } } #实现层 @Override public String yourFunctiondetailway (Integer id ){ 
    JSONObject jObject = new JSONObject(); jObject.put("result", "fail"); jObject.put("message", "查询失败"); try{ 
    //doFuntionHandle ...... jObject.put("result", "定义成功的标志");//可以为 200或者 success jObject.put("message", "查询成功"); jObject.put("yourkeyName", value1); jObject.put("yourkeyName", value2); }catch (Exception e) { 
    jObject.put("message", "XXX异常报错:"+e.toString()); e.printStackTrace(); } return jObject.toJSONString(); } 

$.ajax()请求复杂处理

菜鸟教程
参考这个同志总结
ajax异步请求的步骤_如何用ajax实现异步请求_https://bianchenghao6.com/blog__第1张

dataType

要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复