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

    第一章 http 协议 ① 学习http协议的目标 1. 调试ajax应用程序中"看不见模不着"的错误 2. ...

  • ajax1

    作为一个前端工作者,跨域问题应该是很常见的,处理方式有很多,下边来说一说我用到过的处理方式。1.什么是跨域只要协议...

  • Ajax1

    HTTP是一种无状态的协议,通常一个完整的请求有下面7个步骤: 先说 请求 的过程: HTTP响应: 典型的响应内...

  • ajax1

    1 AJAX 应用和传统 Web 应用有什么不同? 1 传统的javascript编程中,客户端想获得服务器数据库...

  • 原生ajax1

    //// 通过XMLHttpRequest,你可以很容易的取回一个URL上的资源数据,尽管名字里有XML ,...

  • 由一道前端阿里面试题的思考

    题目 注意其中的ajax1的设置的timeout比ajax2的长,所以同步执行的话,先输出2。 调用mergePr...

  • SSM框架的(CRUD)_查询_返回分页的json数据10

    查询-ajax1、index.jsp直接发送ajax请求进行员工分页数据的查询2、服务器将查出的数据,以json字...

网友评论

      本文标题:ajax1

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