ajax回退详细解析,ajax1

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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值