博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax面试题
阅读量:7217 次
发布时间:2019-06-29

本文共 2099 字,大约阅读时间需要 6 分钟。

1、ajax是什么?如何创建一个ajax?

  ajax并不算是一种新的技术,全称是asynchronous javasript and xml,可以说是已有技术的组合,主要用来实现客户端服务器的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持。

  使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果。

//ajax编写步骤// 1、创建XMLHttpRequest对象    var xhr = new XMLHttpRequest();// 2、设置请求参数    xhr.open(请求方式,请求地址,异步或同步);// 3、设置回调函数    xhr.onreadystatechange = function(){        if(xhr.reasyState===4){            if(xhr.status === 200) {                //5、接受响应                console.log(xhr.responseText);            }        }    }// 4、发送请求    xhr.send();

 

2、同步和异步的区别?

  同步:浏览器向服务器请求数据,服务器比较忙,浏览器一直等着(页面白屏),直到服务器返回数据,浏览器才能显示页面。

  异步:浏览器向服务器请求数据,服务器比较忙,浏览器可以自如的干原来的事情(显示页面),服务器返回数据的时候通知浏览器一声,浏览器把返回的数据再渲染到页面,局部更新。

 

3、如何解决跨域问题?

  理解跨域的概念:协议、域名、端口都相同才同域,否则都是跨域。

  出于安全考虑,服务器不允许ajax跨域获取数据,但是可以跨域获取文件内容,所以基于这一点,可以动态创建script标签,使用标签的src属性访问js文件的形式获取js脚本,并且这个js脚本中的内容是函数调用,该函数调用的参数是服务器返回的数据,为了获取这里的参数数据,需要事先在页面中定义回调函数,在回调函数中处理服务器返回的数据,这就是解决跨域问题的主流解决方案。

 

4、请解释一下javaScript的同源策略

  同源策略是客户端脚本的重要安全度量标准,所谓同源指的是:协议,域名,端口相同,同源策略是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。

 

5、GET和POST的区别,何时使用POST?

  GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符,有的浏览器是8000个字符。

  POST:一般用于修改服务器上的资源,对所发送的信息没有限制。

  以下情况中,请使用POST请求:

  ①、无法使用缓存文件(更新服务器上的文件或数据库)

  ②、向服务器发送大量数据(POST没有数据量限制)

  ③、发送包含未知字符的用户输入时,POST比GET更稳定也更可靠。

 

6、ajax的最大特点是什么?

  ajax可以实现异步通信效果,实现页面局部刷新,带来更好的用户体验;按需要获取数据,节约带宽资源。

 

7、ajax的缺点?

  ①、ajax不支持浏览器back按钮。

  ②、安全问题ajax暴露了与服务器交互的细节。

  ③、对搜索引擎的支持比较弱。

  ④、破坏了程序的异常机制。

 

8、解释jsonp的原理,以及为什么不是真正的ajax?

  jsonp并不是一种数据格式,而是json是一种数据格式,jsonp是用来解决跨域获取数据的一种解决方案,具体是通过动态创建script标签,然后通过标签src属性获取js文件中的js脚本,该脚本的内容是一个函数调用,参数就是服务器返回的数据,为了处理这些返回的数据,需要事先在页面定义好回调函数,本质上使用的并不是ajax技术。

 

9、HTTP状态码都有哪些?   

  200 OK 客户端请求成功

  301 资源(网页等)被永久转移到其他URL
  400 Bad Request 客户端请求有语法错误,不能被服务器所理解
  403 Forbidden 服务器收到请求,但是拒绝提供服务
  404 Not Found 请求资源部存在,输入了错误的URL
  500 Internal Server Error 服务器发生不可预期的错误
  503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

 

10、为什么利用多个域名来存储网站资源会更有效?

  确保用户在不同地区能用最快的速度打开网站,其中某个域名崩溃用户也能通过其他域名访问网站,并且不同的资源放到不同的服务器上有利于减轻单台服务器的压力。

 

转载于:https://www.cnblogs.com/MaShuai666/p/8535885.html

你可能感兴趣的文章
BNU OJ 51000 BQG's Random String
查看>>
PAT (Advanced Level) 1044. Shopping in Mars (25)
查看>>
hdu 1531 King
查看>>
***R
查看>>
Linux 源码编译安装mysql
查看>>
取消手机端页面长按图片出现保存或者图片被打开的方法
查看>>
关于图片居中问题
查看>>
并发下的死锁问题
查看>>
Winserver下的Hyper-v “未在远程桌面会话中捕获到鼠标”
查看>>
oracle体系结构基础
查看>>
有关TCP和UDP 粘包 消息保护边界
查看>>
Mono为何能跨平台?聊聊CIL(MSIL)
查看>>
安装scrapy问题:-bash:scrapy:command not found
查看>>
CentOS7 重置root密码
查看>>
博客作业四
查看>>
Scanner 输入---从键盘输入两个数进行相加
查看>>
test
查看>>
说无可说
查看>>
mysql 语句优化
查看>>
SCP 命令参数使用详解(最详细使用指南)
查看>>