首页
学习
活动
专区
圈层
工具
发布

关于ajax学习笔记

一、什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax的认识) ajax全称Asynchronous JavaScript and XML(异步的javascript和XML),为什么会有这么一种技术的出现呢...AJAX缺点: ajax不支持浏览器back按钮。 安全问题 AJAX暴露了与服务器交互的细节。 对搜索引擎的支持比较弱。 破坏了程序的异常机制。 不容易调试。...Ajax发送相同的请求时,注意,这里相同的请求指的是URL完全相同,包括参数,浏览器就不会与服务器交互,而是直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。...(服务端也会收到请求响应304) 浏览器会自作主张的把所有异步请求来的文件缓存,当下一次请求的URL和之前的一样,那么浏览器将不会发送这个请求,而是直接把缓存的内容当做xhr.responseText。...+ timestamp,function(err,data){ alert(data); }); 总的来说,原理就是通过将 get 请求的 url 做成每次都不一样,这样就不会被浏览器缓存了。

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ajax的面试题_java中框架面试题

    大家好,又见面了,我是你们的朋友全栈君。 1:什么是ajax?ajax作用是什么? 异步的javascript和xml AJAX 是一种用于创建快速动态网页的技术。...ajax用来与后台交互 2:原生js ajax请求有几个步骤?...== 4 && (obj.status == 200 || obj.status == 304)) { } }; 3:json字符串转换集json对象、json对象转换json字符串...3:404 (未找到) 服务器找不到请求的网页。 四: 5开头状态码 5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。...例如,服务器无法识别请求方法时可能会返回此代码。 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。

    1K10

    JSP的原生Ajax与解析Json

    大家好,又见面了,我是你们的朋友全栈君。 JS原生Ajax Ajax=异步Javascript+XML; ajax是一种数据请求的方式,不需要刷新整个页面。...GET请求方式是通过URL参数将数据提交到服务器的,POST则是通过将数据作为send的参数提交到服务器; POST请求中,在发送数据之前,要设置表单提交的内容类型; 提交到服务器的参数必须经过encodeURIComponent...每次请求的时候都会在参数列表中拼入一个“v=xx”的随机字符串,这样是为了拒绝缓存,每次都直接请求到服务器上。...在readystatechange事件中,先判断响应是否接收完成,然后判断服务器是否成功处理请求,xhr.status 是状态码,状态码以2开头的都是成功,304表示从缓存中获取,上面的代码在每次请求的时候都加入了随机数...ajax请求是不能跨域的! JSONP JSONP(JSON with Padding) 是一种跨域请求方式。

    1.7K20

    AJAX

    不同点: response返回的是数据的主体部分,可以为任何类型(数组,json,XML,字符串等); responseText返回从服务器接收到的字符串。该属性为只读。...对象 data = JSON.parse(data); responseXML返回从服务器接收到的Document对象,该属性为只读。...: get请求时:接口名+请求参数(键值对形式);post请求时:只需要接口名(需要传递的参数写在send方法里); 第三个参数:一个布尔值,指定是否异步(true为异步,false为同步,通常为true...) { //与后端约定好,传输的数据类型为JSON字符串,JSON.parse()用来把JSON字符串解析为原生JavaScript值 var results...image.png 每次点击加载更多按钮都会发送一条AJAX请求,数据没回来之前,重复点击会被忽略,数据到来后会渲染到页面上出现5条新闻。

    2.6K50

    前端架构师之01_JavaScript_Ajax

    浏览器与服务器交互 在Web服务器中,请求资源又分为静态资源和动态资源。 静态资源的特点:只要服务器没有修改这些文件,客户端每次请求到的都是同样的内容。...HTTP是一种基于“请求”和“响应”的协议。 当客户端与服务器建立连接后: 客户端(浏览器)向服务器端发送一个请求,这个请求称为HTTP请求。 服务器接收到请求后做出响应,称为HTTP响应。...遇到普通文本时直接显示。 遇到HTML时渲染成网页。 遇到GIF、PNG、JPEG等类型时显示为图像。 如果浏览器遇到无法识别的类型时,在默认情况下会执行下载文件的操作。...注意:如果请求声明为同步,该方法将会等待请求完成或者超时才会返回,否则此方法将立即返回。 在进行Ajax开发时,经常使用GET方式或POST方式发送请求。 GET方式适合从服务器获取数据。...与XML对比:使用JSON对象访问属性的方式获取数据更加方便,在JavaScript中可以轻松地在JSON字符串与对象之间转换。 JSON格式的数据交互实现。

    69510

    全面分析前端的网络请求方式

    | "json"| response 是一个 JavaScript 对象。这个对象是通过将接收到的数据类型视为 JSON解析得到的。...六、jQuery对Ajax的封装 在很长一段时间里,人们使用 jQuery提供的 ajax封装进行网络请求,包括 $.ajax、$.get、$.post等,这几个方法放到现在,我依然觉得很实用。...注意:源码里对错误的判定: isSuccess = status >= 200 && status 304; 返回值除了这几个状态码都会进 error回调。...注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)"json": 返回 JSON 数据 。"...十二、跨域总结 谈到网络请求,就不得不提跨域。 浏览器的同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。

    2.2K40

    Ajax 的简介与使用

    2、缺点 不支持浏览器back按钮 安全问题,Ajax 暴露了与服务器交互的细节 对搜索引擎的支持比较弱 三、Ajax 的使用 -- 实现步骤 1、创建 XMLHttpRequest 对象,即创建一个异步调用对象...,并指定该 HTTP 请求的方法、URL 及验证信息 XHR.open(method,url,async); // method:请求类型,GET 或 POST---------可选 // url:文件在服务器上的位置...request.send(); 5、获取异步调用返回的数据 (JSON) 6、使用 JavaScript 和 DOM 实现局部刷新 四、Ajax中的一些处理总结 1、服务器响应处理 responseText...比较常见的有: 200:“OK”(当 readyState 等于 4 且状态为 200 时,表示响应已就绪) 304:该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意...) 403:(禁止) 服务器拒绝请求 404:(未找到) 服务器找不到请求的网页 408:(请求超时) 服务器等候请求时发生超时 500:(服务器内部错误) 服务器遇到错误,无法完成请求

    1.1K10

    AJAX 与跨域通信(一):AJAX 与同源策略

    3.3 设置请求头 xhr.setRequestHeader('Header','Value') 每个 HTTP 请求和响应都会带有相应的头部信息,包含一些与数据、收发者网络环境与状态等相关信息。...有以下6个进度事件: loadstart:在接受到响应数据的第一个字节时触发 progress:在接受响应期间持续不断地触发 error:在请求错误时触发 abort:在因为调用 abort() 方法而终止连接时触发...load:在接收到完整的响应数据时触发 loadend:在通信完成或触发 error、abort、load 事件后触发 每个请求都从触发 loadstart 事件开始,接下来是一或多个 progress...请求 为什么同源策略要禁止不同源之间进行这些操作呢?...那么假定用户访问了我在A源中用 iframe 引入的B源网页,他的所有操作都会在我们的掌握之中,因为我们可以在A源操作B源的 DOM 元素; A 源可以自由发送 AJAX 请求给B源。

    1.3K10

    XMLHttpRequest使用指南大全

    以下是我认为对Ajax较为准确的解释:(摘自what is Ajax) AJAX stands for Asynchronous JavaScript and XML....接下来我将站在使用者的角度,以问题的形式介绍xhr的基本使用。 我对每一个问题涉及到的知识点都会进行比较细致地介绍,有些知识点可能是你平时忽略关注的。...每次xhr.readyState的值发生变化时,都会触发xhr.onreadystatechange事件,我们可以在这个事件中进行相关状态判断。...事件触发顺序 当请求一切正常时,相关的事件触发顺序如下: 触发xhr.onreadystatechange(之后每次readyState变化时,都会触发一次) 触发xhr.onloadstart /...我倾向于 xhr.onload事件,因为xhr.onreadystatechange是每次xhr.readyState变化时都会触发,而不是xhr.readyState=4时才触发。

    1.5K30

    Web基础知识

    浏览器与服务器交互 在Web服务器中,请求资源又分为静态资源和动态资源。 静态资源的特点:只要服务器没有修改这些文件,客户端每次请求到的都是同样的内容。...HTTP是一种基于“请求”和“响应”的协议。 当客户端与服务器建立连接后: 客户端(浏览器)向服务器端发送一个请求,这个请求称为HTTP请求。 服务器接收到请求后做出响应,称为HTTP响应。...遇到普通文本时直接显示。 遇到HTML时渲染成网页。 遇到GIF、PNG、JPEG等类型时显示为图像。 如果浏览器遇到无法识别的类型时,在默认情况下会执行下载文件的操作。...注意:如果请求声明为同步,该方法将会等待请求完成或者超时才会返回,否则此方法将立即返回。 在进行Ajax开发时,经常使用GET方式或POST方式发送请求。 GET方式适合从服务器获取数据。...与XML对比:使用JSON对象访问属性的方式获取数据更加方便,在JavaScript中可以轻松地在JSON字符串与对象之间转换。 JSON格式的数据交互实现。

    86910

    Ajax 学习总结

    Ajax 技术也就是允许浏览器与服务器通信而无需刷新当前页面,数据在客户端和服务端独立传输,而不是以前客户端向服务端发送一个请求,服务器返回整个页面,如此反复。...OnReadystateChange  -- -- 每个状态改变都会触发这个时间处理器,通常是 JS 函数(改事件由服务器触发)       1.2.1 Ajax 执行过程中,服务器会通知客户端当前的通信状态...,依靠 readyState 属性实现,改变 readryState 属性是服务器对客户端连接操作的一种方式,每次 readyState 属性改变都会触发 onReadyStateChange  事件...当浏览器接收到较长的 XML 文档时 DOM 解析可能会很复杂       3. JSON 的语法严谨,代码不宜读     2.5.3 适用场景       1....>YS Page 35 36 37 38    以上这些就是我所知道有关 Ajax

    1.8K70

    高级前端:详解手写原生Ajax的实现

    Ajax开始讲起,然后最后会尽可能得模仿JQuery对其进行封装,让我刚才提到的两类人能对Ajax有进一步的了解。...含义 100 ~ 199 连接继续 200 ~ 299 各种成功的请求 300 ~ 399 重定向 400 ~ 499 客户端错误 500 ~ 599 服务端错误 (2)xhr的基本使用 在使用xhr...上面也讲解了Ajax请求的简单应用,同时也是拿 get 请求来举得例子,因此这里我就不多做说明,唯一要讲的就是,get请求所携带的数据是明文的,大小只有4k左右,而且它是写在URL的 ?...query=4&em=0,所以若是我们要在发送get请求时携带数据,只需要在调用 open() 方法时,将数据写在第二个参数的URL的 ?...CORS(跨域资源共享)要求我们在发送请求时自定义一个HTTP头部与服务器进行沟通,我们只需要设置一个名为 Origin 的头部,值为当前页面的源信息(协议、域名、端口),例如Origin : http

    2K20

    异步编程Ajax的详解,并对其进行封装整理

    Ajax开始讲起,然后最后会尽可能得模仿JQuery对其进行封装,让我刚才提到的两类人能对Ajax有进一步的了解。...含义 100 ~ 199 连接继续 200 ~ 299 各种成功的请求 300 ~ 399 重定向 400 ~ 499 客户端错误 500 ~ 599 服务端错误 (2)xhr的基本使用 在使用xhr...上面也讲解了Ajax请求的简单应用,同时也是拿 get 请求来举得例子,因此这里我就不多做说明,唯一要讲的就是,get请求所携带的数据是明文的,大小只有4k左右,而且它是写在URL的 ?...query=4&em=0,所以若是我们要在发送get请求时携带数据,只需要在调用 open() 方法时,将数据写在第二个参数的URL的 ?...CORS(跨域资源共享)要求我们在发送请求时自定义一个HTTP头部与服务器进行沟通,我们只需要设置一个名为 Origin 的头部,值为当前页面的源信息(协议、域名、端口),例如 Origin : http

    2K20

    你真的会使用XMLHttpRequest吗?

    看到标题时,有些同学可能会想:“我已经用xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了。”...---- 接下来我将站在使用者的角度,以问题的形式介绍xhr的基本使用。 我对每一个问题涉及到的知识点都会进行比较细致地介绍,有些知识点可能是你平时忽略关注的。...每次xhr.readyState的值发生变化时,都会触发xhr.onreadystatechange事件,我们可以在这个事件中进行相关状态判断。...事件触发顺序 当请求一切正常时,相关的事件触发顺序如下: 触发xhr.onreadystatechange(之后每次readyState变化时,都会触发一次) 触发xhr.onloadstart /...我倾向于 xhr.onload事件,因为xhr.onreadystatechange是每次xhr.readyState变化时都会触发,而不是xhr.readyState=4时才触发。

    1.8K30

    【Http原理】请问 HTTP 是怎么进行缓存的?

    时间后 未修改,返回 200 被修改,返回 412 Precondition failed 预处理错误 主要用于断点续传,肯定要保证文件没有修改 7.If-Match, If-None-Match 主要也是为了判断资源是否更新过...2、服务器收到请求,拿 If-Modified-Since 和 服务器资源的 Last-Modified 比较,如果相同,命中协商缓存,返回304 304 到底有什么用??...当客户端缓存了目标资源,但是不确定是否是最近的版本,会发一个条件请求,附带上 条件首部 服务器拿到首部,判断出客户端的资源是否是最新的 如果是最新的,返回304,但是没有响应体,客户端收到304...用户手动刷新,不包括强刷 缓存资源类型 1、文件可以缓存,比如 js、css、json 2、post 无法缓存,get 请求可以缓存 3、还有其他的我不知道..........下面是 ajax 引入reset.css ? 而 ajax 请求接口的数据,也是放在 disk ?

    63520

    HTML5-类库系列 补讲AJAX

    HTML5学堂:AJAX主要是两个兼容问题,其一是AJAX请求的创建,其二是加载状态的检测。本文主要讲解AJAX兼容的方法的搭建。...AJAX请求的创建 大部分使用AJAX的人都会使用new XMLHttpRequest()的方法进行AJAX的创建。...0 表示未初始化,没有调用open方法 1 表示请求已经准备好,可以发送 open()结束 未send 2 表示已经发出send方法,但是并没有接收到服务器的响应 3 表示数据下载到请求对象 但是响应数据还没有准备好...服务器端错误 此处使用了大于200,小于300,表示的就是请求成功。...而304需要特殊注意,304表示的是请求的资源并没有发生更改,可以直接使用本地浏览器的缓存版本,也意味着响应是有效的。 关于onload方法,有些同学可能会觉得,为何不可以用这个呢?

    94150
    领券