ajax1

作者: 流光已至 | 来源:发表于2019-05-01 17:32 被阅读0次
    1 AJAX 应用和传统 Web 应用有什么不同?

    1 传统的javascript编程中,客户端想获得服务器数据库或文件上的信息,需要创建html表单,然后get或post数据,用户需要点击submit按钮来发送或接收数据,等待服务器的响应。页面会重新加载,页面服务器端每次都会返回一个新的页面。因此web应用可能很慢,并且用户交互不太好。
    2 使用ajax技术,js通过xmlHttpRequest对象直接与服务器交互,通过http请求,web页面向服务器发送一条请求并接受响应(无需重新加载页面),返回给客户端的还是同一个页面。用户感到页面刷新,也看不到js后台发送请求和接收响应。

    2 介绍一下 XMLHttpRequest 对象

    通过XmlHttpRequest对象,web开发人员可以对加载的页面进行局部刷新。

    3 ajax全称和调用流程

    全称为asychronous js and xml;
    2 首先创建xmlhttprequest对象,xmlhttp_request,
    调用对象方法open('GET',url,true),send(null);
    如果为true表示异步,js函数继续执行,不等服务器响应。
    3 服务器响应需要告知http对象使用哪个js函数来处理
    我们可以将对象属性设置为函数名:xmlhttp_request.onreadystatechange=FunctionName;注意没有();我们通常
    xmlhttp_request.onreadystatechange=function(){// js代码 }
    然后我们需要检查请求状态readyState(0 未初始化 1 正在装载 2装载完毕 3 交互中 4 完成) 只有当readyStatue==4 时,表示服务器端响应完整,函数才可以处理响应。
    4 接着我们查看http响应状态值,status==200状态正常,可以处理接收的数据 text,xml ,json.

    4 ajax send() 方法

    post() 方式传参用,必须先设置 requestHeader

    5 AJAX 的优缺点都有什么?

    优点:
    1 页面无需刷新,用户体验非常好
    2 采用异步方式与服务器通信,具有更加迅速的响应能力
    3 将以前一些服务器负担的工作转嫁到客服端,减轻服务器负担。
    4 采用标准化并被广泛支持的技术,无需下载插件或小程序。
    缺点
    1 ajax不支持浏览器的回退按钮。
    2 安全问题,ajax暴露了与服务器交互的细节。
    3 对搜索引擎的支持比较弱
    4 破坏了程序的异常机制。
    5 不容易调试。

    6 Ajax 和 javascript 的区别?

    ajax是创建交互式网页应用的开发技术,它利用一系列相关技术,其中就包括js
    js是一种浏览器端执行的脚本语言,与java没有任何关系,js的特效 1 控制文档的外观和内容 2 与html表单交互 3 与用户交互。

    7 工作当中会和后台交互吗? 那你能说说封装好的 ajax里的几个参数吗 ?

    1 url 请求的地址
    2 type: 请求的方式 默认get
    3 async : 默认true异步
    4 timeout : 设置超时时间 单位ms
    5 data: 为string 或 object类型的参数 ,发送到服务器的数据
    6 cache : 修改为false禁用缓存
    7 datatype: 预期服务器返回的数据类型
    xml: 返回xml文档,可由jquery处理
    html:返回纯文本html信息,其中的js标签,可在加入dom时执行。
    script: 返回纯文本js代码,不会自动缓存结果。
    json:json数据类型
    jsonp:jsonp格式,使用jsonp调用函数时,列如myurl?callback=?,jquery会自动将第二个?替换为正确的函数名,以执行回调函数。
    text: 返回纯文本字符串。
    8 success:请求成功时调用的函数,两个参数
    (1) 服务器返回的,经过datatype参数处理的数据
    (2) 描述状态的字符串。
    9 error: 要求为FUNCTION类型的参数,请求失败时调用的函数
    (1)XmlHttpRequest对象
    (2) 错误信息
    (3) 捕获错误的对象(可选)
    10 complete:function(XmlHttpRequest,status)//请求完成的最终执行参数。

    8 json数据怎么处理 , 如果我发送一个请求 删除数据里的一条数据 我怎么知道删除成功了 或者说 删除后 会在哪里显示

    JSON.parse() 转换为json对象,根据数据解析,放到页面中
    格式: {}和[]拼接的json串
    发送请求删除数据,后台返回处理结果,前台根据返回结果判断是否成功,然后处理页面元素。

    9 有没有遇到过这种情况 在ie浏览器中 后台图片数据已经改变 但是客户端没有发生改变 该怎么处理? 他提示说浏览器的缓存

    $ajax的cache,或使用post方式

    10点击按钮向后台发起请求,将返回的数据直接输出,如果3秒内没有获得返回的数据则显示“请求超时,请重新提交”,写代码
    var ajaxTimeoutTest = $.ajax({
      url:'',  //请求的URL
      timeout : 3000, //超时时间设置,单位毫秒
      type : 'get',  //请求方式,get或post
      data :{},  //请求所传参数,json格式
      dataType:'json',//返回的数据格式
      success:function(data){ //请求成功的回调函数
        alert("成功");
      },
      complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
        if(status=='timeout'){//超时,status还有success,error等值的情况
           ajaxTimeoutTest.abort();//终止请求
           alert("超时");
        }
      }
    });
    
    11 你对于跨域请求了解多少?

    同源策略规定如果访问时域名,协议,端口与发起请求的地方不一致时则被称为跨域请求,这时需要使用一些跨域请求技术。
    1 利用jquery方法,使用jsonp模式访问。
    datatype:'jsonp',并在url后传入callback=?,jquery会生成随机回调函数名称,或者你自己起名字。后台会获取callback的值,连接上() ,把数据放入(),传回页面,相当于调用function 名(data);
    2 使用js标签方式
    利用script标签src写想要访问的url,并连接上?callback=函数名。后台会获取callback的值,连接上() ,把数据放入(),传回页面,相当于调用function 名(data);
    3 后台直接开启同源策略访问的限制,设置响应头信息
    response.setHeader("Access-Control-Allow-Origin","*");

    12 JS中有哪些数据类型?

    六种 : null ,number,boolean,String,undefined,
    Object [Array,Function,Date]

    相关文章

      网友评论

          本文标题:ajax1

          本文链接:https://www.haomeiwen.com/subject/ebcmnqtx.html