AJAX常见面试题(上)

简介: 笔记

什么是AJAX,为什么要使用Ajax


AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。.、

客户端与服务器,可以在【不必刷新整个浏览器】的情况下,与服务器进行异步通讯的技术


AJAX应用和传统Web应用有什么不同?


AJAX应用和传统Web应用有什么不同?

  • 传统的web前端与后端的交互中,浏览器直接访问Tomcat的Servlet来获取数据。Servlet通过转发把数据发送给浏览器
  • 当我们使用AJAX之后,浏览器是先把请求发送到XMLHttpRequest异步对象之中,异步对象对请求进行封装,然后再与发送给服务器。服务器并不是以转发的方式响应,而是以流的方式把数据返回给浏览器
  • XMLHttpRequest异步对象会不停监听服务器状态的变化,得到服务器返回的数据,就写到浏览器上【因为不是转发的方式,所以是无刷新就能够获取服务器端的数据】

46.jpg

请介绍一下XMLhttprequest对象


请介绍一下XMLhttprequest对象

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新



介绍一下XMLHttpRequest对象的常用方法和属性


方法


  • open()(String method,String url,boolean asynch,String username,String password)
  • send(content)
  • setRequestHeader(String header,String value)
  • getAllResponseHeaders()
  • getResponseHeader(String header)
  • abort()

常用的方法就是黑色粗体的前三个

  • open():该方法创建http请求
  • 第一个参数是指定提交方式(post、get)
  • 第二个参数是指定要提交的地址是哪
  • 第三个参数是指定是异步还是同步(true表示异步,false表示同步)
  • 第四和第五参数在http认证的时候会用到。是可选的
  • setRequestHeader(String header,String value):设置消息头(使用post方式才会使用到,get方法并不需要调用该方法)
  • xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  • send(content):发送请求给服务器
  • 如果是get方式,并不需要填写参数,或填写null
  • 如果是post方式,把要提交的参数写上去


属性

  • onreadystatechange:请求状态改变的事件触发器(readyState变化时会调用此方法),一般用于指定回调函数
  • readyState:请求状态readyState一改变,回调函数被调用,它有5个状态
  • 0:未初始化
  • 1:open方法成功调用以后
  • 2:服务器已经应答客户端的请求
  • 3:交互中。Http头信息已经接收,响应数据尚未接收。
  • 4:完成。数据接收完成


47.jpg

  • responseText:服务器返回的文本内容
  • responseXML:服务器返回的兼容DOM的XML内容
  • status:服务器返回的状态码
  • statusText:服务器返回状态码的文本信息

上面有两个地方都提及了回调函数,回调函数是什么??

回调函数就是接收服务器返回的内容!

48.jpg


目录
相关文章
|
4月前
|
存储 监控 安全
ajax面试题总结
ajax面试题总结
43 1
|
6月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
309 2
|
存储 移动开发 前端开发
web前端面试高频考点——JavaScript-Web-API 篇(二)AJAX、存储
web前端面试高频考点——JavaScript-Web-API 篇(二)AJAX、存储
135 0
|
Web App开发 XML 缓存
面试还不会 Ajax?拿来把你!
Ajax(Asynchronous Javascript And XML) - 最近想着去找个面试,然后看到 Ajax 也是考点之内(面向关键字面试),虽然已经用了很久的 axios 但没有系统的学过 Ajax,所以就有今天这篇文章。
|
XML Web App开发 前端开发
20道经典的AJAX面试题(必知必会)
20道经典的AJAX面试题(必知必会)
156 0
|
存储 前端开发 JavaScript
【Ajax】全面详细了解git的基础操作【万字教学+面试常客】
【Ajax】全面详细了解git的基础操作【万字教学+面试常客】
134 0
【Ajax】全面详细了解git的基础操作【万字教学+面试常客】
|
前端开发 JavaScript
ajax,jsonp,axios面试题
ajax,jsonp,axios面试题
|
JSON 前端开发 数据格式
牛客刷题——前端面试【三】谈一谈Promise、封装ajax、json数据使用
如何使用Promise、封装ajax、json数据以下方法告诉你。
191 0
|
存储 XML JSON
JavaScript相关面试题4:1.ajax、axios、fetch区别;2.Object与Map区别
使用场景 ●如果只需要简单的存储key-value的数据,并且key不需要存储复杂类型的,直接用对象 ●如果该对象必须通过JSON转换的,则只能用对象,目前暂不支持Map ●map的阅读性更好,所有操作都是通过api形式去调用,更有编程体验
357 0
|
XML JSON 缓存
【前端领域高频笔试面试】—— Ajax相关
【前端领域高频笔试面试】—— Ajax相关
206 0