首页 > 其他分享 >从零到一:$.ajax()的6个核心参数逐一解读

从零到一:$.ajax()的6个核心参数逐一解读

时间:2024-08-24 12:24:46浏览次数:7  
标签:请求 get open 逐一 零到 xhr ajax true

$.ajax()的常用参数

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

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

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

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

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

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

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

complete: 请求完成后回调函数

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

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

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

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_86516078/article/details/141497903

相关文章

  • 【Java】从零到一使用Feign与Sentinel (详细图解)
    Java系列文章目录补充内容Windows通过SSH连接Linux第一章Linux基本命令的学习与Linux历史文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1认识依赖4.1.1Feign依赖4.1.2Sentinel依赖4.1.3负载均衡依赖4.2父子项目配置4.2.1项目结......
  • Spring 源码解读专栏:从零到一深度掌握 Spring 框架
    前言Spring是Java世界中无可争议的王者框架,它以其灵活、轻量、强大而著称,成为企业级开发的首选工具。然而,很多开发者在使用Spring时,往往只停留在会用的层面,对于其内部实现和设计原理知之甚少。本专栏旨在通过系统化的Spring源码解读,从实践到源码分析,再到设计模式的......
  • 从零到一,全面掌握Apache DolphinScheduler发版流程,实战派经验分享!
    引言ApacheDolphinScheduler的发版流程对于确保软件质量和社区协作至关重要,社区Committer王兴杰为我们详细介绍了ApacheDolphinScheduler的发版流程,包括环境准备、流程文档、基础工具准备、依赖包确认等关键步骤,并指出了发版流程中可能会遇到的麻烦以及相应的解决方案,欢迎学习......
  • 异步交互技术Ajax-Axios
    目录一、同步交互和异步交互二、Ajax 1.概述2.如何实现ajax请求三、异步传输数据乱码的问题regist.html页面代码 服务端代码处理四、Axios1. Axios的基本使用(1)引入Axios文件(2)使用Axios发送请求,并获取响应结果。2.案例3.请求方法的别名(推荐用这个,简单)一、同......
  • 易优arclist文档列表(配合arcpagelist标签可实现ajax瀑布流分页)-EyouCms手册
    arclist文档列表(配合arcpagelist标签可实现ajax瀑布流分页)[基础用法]名称:arclist功能:获取系统主从表模型(如:文章、软件、图集、产品等)的一列文档,也称自由列表块标记。语法:{eyou:arclisttypeid='栏目ID'limit='0,10'flag='c'titlelen='30'infolen='160'orderby='add_......
  • 掌握$.ajax()的常用参数,让代码更高效
    $.ajax()的常用参数type:类型:String请求方式(“POST“或“GET“),默认为“GET“。(没有methods参数)url:类型:String(默认:当前页面地址)data:前端发送到后台的数据,可以是json对象,也可以是json形式的字符串。    注意:后台接受的参数形式,不支持的数据类型,发送不会......
  • 短剧CPS系统搭建全攻略:从零到一,详细教程助你快速上手
    目录一、短剧cps是什么?二、短剧cps系统搭建教程1.前端开发2.后端开发4.自动化与持续集成5.数据分析与监控三、部分代码展示 一、短剧cps是什么?短剧CPS系统是一种基于短剧推广的收益分成平台。该系统集成了短剧内容展示、用户观看、付费购买、佣金分成等功能,......
  • 从零到百万粉丝:静态住宅代理如何助阵YouTube营销?
    YouTube作为众多跨境商家的重要营销推广阵地,YouTube的运营数据与店铺的开单息息相关。那么如何做好YouTube营销来增加产品的知名度呢?如何高效运营YouTube矩阵并防止账号间的关联呢?下文介绍的静态住宅代理就能在YouTube营销上助你一臂之力。静态住宅代理在YouTube营销上的工......
  • PHP 返回结果给前端/ajax后,在后台继续执行代码的方法
    .问题背景在实际项目开发中,遇到一个问题:前端通过Ajax请求后台PHPAPI接口,执行多文件的打包下载操作,该请求由于需要更新大量的数据(日志、统计等信息)到数据库且还需要执行较大的磁盘IO操作,导致该请求很耗时间。由于前端页面的更新需要快速响应,因此需要PHP快速返回计算结果,然......
  • PrimeFaces SelectOneMenu 与 Ajax 集成实例解析
    ======在现代Web开发中,用户界面的交互性是至关重要的。PrimeFaces作为JavaServerFaces(JSF)的一个流行UI组件库,提供了丰富的组件来增强用户界面。本文将通过一个具体实例,详细介绍如何使用PrimeFaces的SelectOneMenu组件与Ajax技术相结合,实现在选择事件时通过Ajax提交数据。......