首页 > 其他分享 >掌握$.ajax()的常用参数,让代码更高效

掌握$.ajax()的常用参数,让代码更高效

时间:2024-08-17 13:51:38浏览次数:13  
标签:高效 请求 get open 代码 xhr ajax true

$.ajax()的常用参数

type: 类型: String 请求方式 (“POST“ 或 “GET“), 默认为 “GET“。(没有methods参数)

url: 类型: String (默认: 当前页面地址)

data:前端发送到后台的数据,可以是json对象,也可以是json形式的字符串。
    注意:后台接受的参数形式,不支持的数据类型,发送不会成功
    {“type“:1,“phone“:phoneCon,“pwd“:pwdCon}
    JSON.stringify(  {“type“:1,“phone“:phoneCon,“pwd“:pwdCon}  ),

dataType: 后台返回的数据的类型,默认“text“
    “text“: 返回纯文本字符串。
    “json“:返回json对象。
    “script“: 把响应的结果当作 JavaScript 执行。
    如果dataType是“json“,而后天返回的是字符串,则数据通过error对应的函数返回数据

error: 请求失败时调用此函数。

success: 请求成功后的回调函数 ajax不一定有返回的信息,如:给数据库添加留言,可以不需要返回信息

complete: 请求完成后回调函数

beforeSend: 请求发送前的回调函数,用来修改请求发送前jqXHR(在jQuery 1.4.x的中,XMLHttpRequest)对象,此功能用来设置自定义 HTTP 头信息,等等。该jqXHR和设置对象作为参数传递。

timeout: 类型: Number 设置请求超时时间(毫秒)

async:是否异步请求,默认true
    false(同步请求时),可以再ajax内进行赋值,不会出现赋值顺序错误的问题
    ajax外部变量,获取ajax内部的值时,必须是同步请求,如:将ajax内的值作为函数的返回参数

cache: 类型: Boolean    是否缓存        默认: true, dataType为“script“和“jsonp“时默认为false
    注意: 设置cache为 false将在 HEAD和GET请求中正常工作。它的工作原理是在GET请求参数中附加“_={timestamp}“(译者注:时间戳)。

jsonp: 在一个jsonp请求中重写回调函数的名字。这个值用来替代在“callback=?“这种GET或POST请求中URL参数里的“callback“部分

ajax的请求过程

1、新建ajax对象(IE6不兼容)   如:xhr = new XMLHttpRequest();
    IE6下,Ajax对象的兼容方法
        方法一:var xhr = null;
            try {    xhr = new XMLHttpRequest();    }
            catch (e) {    xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);    }
        方法二:var xhr = null;
            if (window.XMLHttpRequest) {    xhr = new XMLHttpRequest();    }
            else {    xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);    }

2、发送请求的准备工作       通过get、post发送某个信息,但是这一步无法显示出来,相当于网址,post方式,文件信息地址在xhr.send();中
    如:xhr.open(‘get‘,‘1.php‘,true);         xhr.open(‘post‘,‘2.post.php‘,true);
    1.打开方式:get、post、request
     2.地址(接口)
        静态地址,如:xhr.open(‘get‘,‘1.txt‘,true);
        动态地址:如:xhr.open(‘get‘,‘1.php‘,true);
            get方式,发送数据到后台  如:xhr.open(‘get‘,‘2.get.php?username=leo&age=30&‘,true);
                1.缓存引起无法刷新:在url?后面连接一个随机数,时间轴如:xhr.open(‘get‘,‘2.get.php?username=leo&age=30&‘   new Date().getTime(),true);
                2.中文乱码无法显示:编码encodeURI     如:xhr.open(‘get‘,‘2.get.php?username=‘ encodeURI(‘刘伟‘) ‘&age=30&‘   new Date().getTime(),true);
            post方式,发送数据到后台
                1.post没有缓存问题
                2.中文无需编码
                3.数据放在send()里面作为参数传递    如:xhr.send(‘username=刘伟&age=30‘);
                    在send()前面,必须申明发送的数据类型    如:xhr.setRequestHeader(‘content-type‘, ‘application/x-www-form-urlencoded‘);
    3.是否异步
        true:异步:非阻塞 前面的代码不会影响后面代码的执行
        false:同步:阻塞 前面的代码会影响后面代码的执行   很少使用同步(除非后面的操作,需要前面的数据)

3、提交发送的请求    如:xhr.send();

4、等待服务器返回内容       返回内容为字符串,必要时需要转成对象?????
    返回正确内容的条件:1、readyState值发生改变    2、readyState属性值为4    3、status属性值为200
    onreadystatechange事件    当状态值发生改变时触发
    readyState属性:请求状态
        0    未初始化)还没有调用open()方法
        1    (载入)已调用send()方法,正在发送请求
        2    (载入完成)send()方法完成,已收到全部响应内容
        3    (解析)正在解析响应内容
        4    (完成)响应内容解析完成,可以在客户端调用了
    status属性:服务器(请求资源)的状态码(http状态码)
        1、消息(1字头)
        2、成功(2字头)  如:200    OK
        3、重定向(3字头)
        4、请求错误(4字头)
        5、服务器错误(5、6字头)
    返回的内容
        responseText:ajax返回的内容,就存在于这个属性下面,以字符串的形式

免费的API接口开放平台

标签:高效,请求,get,open,代码,xhr,ajax,true
From: https://blog.csdn.net/2401_86516040/article/details/141279702

相关文章

  • AI舌苔诊病(文心快码Baidu Comate)进行代码解析与完成项目二创
    目录前言百度AppBuilder——接口处理文心快码BaiduComate——接口解析文心快码BaiduComate——页面生成与优化文心快码BaiduComate——二创基础数据积累-智能提问存储数据二创方向询问 二创实操文心快码BaiduComate——对微服务架构分析能力测试1、整体视角—......
  • Java中的图算法:如何实现高效的最短路径计算
    Java中的图算法:如何实现高效的最短路径计算大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!作为开头。最短路径算法是图论中的一个核心问题,广泛应用于网络路由、地图导航等领域。在Java中实现高效的最短路径计算通常涉及到Dijkstra算法和Floy......
  • go金融系统开发中的关键知识点:确保稳定、安全和高效
    在现代金融系统的开发过程中,涉及的数据处理和业务逻辑异常复杂,要求开发者不仅需要掌握基础的编程技术,还需要理解和应用一些高级的技术和策略。本文将探讨在金融系统开发中需要关注的关键知识点,包括事务管理、流水记录、数据一致性、安全性等方面,帮助你构建稳定、安全且高效的金融......
  • 代码随想录day32 || 509 斐波那契数列,70 爬楼梯,746 最小代价爬楼梯
    509斐波那契数列funcfib(nint)int{ //dp五部曲 //1dp数组含义以及下标含义:本题保存的是完整的斐波那契数列,i对应数列的第i个数字 //2递推公式:F(n)=F(n-1)+F(n-2) //3dp数组初始化:由递推公式推到,0,1两位需要手动赋值,否则,oor //4遍历顺序:求......
  • 【python学习】Asyncio库的真正力量:如何用Python编写高效并发程序
    目标读者群体及文章解决的问题这篇文章适合对Python编程有一定了解的开发者,尤其是希望深入理解并掌握异步编程的读者。通过对asyncio库的全面解析,我们将结合2023年环法冠军温格高的夺冠故事,帮助你掌握如何在Python中使用异步编程处理复杂的并发任务,避免常见的错误,并提高代......
  • 高效使用搜索引擎
    基本搜索技巧善用关键词用有实际意义、具体的词语,尽量去除不重要的虚词(如停用词)不同关键词组合换位思考。站在作者或者开发者的角度,想一想他们会用什么关键词来描述其内容。搜索工具高级搜索进阶搜索语法——命令搜索所有命令的标点都是英文输入法下的标点。命令讲......
  • 前端开发中的代码规范
    引言在前端开发中,遵循良好的代码规范是非常重要的。这不仅能提高代码的可读性和可维护性,还能帮助团队成员更好地协作。本文将介绍一些前端开发中常用的代码规范,并探讨它们的重要性。1.代码规范的重要性1.1可读性良好的代码规范可以使代码更易于阅读和理解,这对于维护和调......
  • 打造编程学习的高效笔记系统
    在编程学习的道路上,笔记不仅仅是知识的简单记录,更是我们理解、吸收和应用知识的重要工具。一个高效的笔记系统能够帮助我们更好地组织思路、加深记忆,并在需要时迅速找到所需的信息。那么,如何才能打造这样一个既实用又高效的编程学习笔记系统呢?目录一、笔记工具选择二、笔......
  • Grid++Report 组件使用最简代码
    在‘添加引用’窗口中选择‘COM’选项卡,在列表中双击‘Grid++ReportEngine6.0TypeLibrary’项使用设计器设计一个模板,加入vs2022项目  设置为文件新则拷贝因为是打印标签,数据有限,所以模板使用参数传递数据,纸型按实际标签的长宽设置c#调用模板的代码如下privatev......
  • 安装git-format-staged后,Sourcetree中提交代码报错的解决方案
    pre-commit文件中内容为:git-format-staged--formatter"swiftformatstdin--stdinpath'{}'""*.swift" 在终端中,gitcommit不会报错。Sourcetree中提交具体错误:git-format-staged或者swiftformat命令找不到。解决方案一:利用Automator(自动操作)新建一个SourceTree应......