• ajax面试题


    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、为什么利用多个域名来存储网站资源会更有效?

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

  • 相关阅读:
    MySQL -- 表联结
    Unittest方法 -- 项目实现自动发送邮件
    Linux工作中常用命令
    Requests方法 -- Token获取操作
    Requests方法 -- 关联用例执行
    Requests方法 -- Blog流程类进行关联
    Requests方法 -- 参数化
    defer和async的区别
    js函数收藏:获取cookie值
    XSHELL使用技巧总结
  • 原文地址:https://www.cnblogs.com/MaShuai666/p/8535885.html
Copyright © 2020-2023  润新知