关于ajax要了解的事

关于ajax要了解的事

  1. Ajax 是什么? 如何创建一个Ajax?
    Ajax并不算是一种新的技术,全称是asynchronous javascript and xml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持。
    使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果。
    基本步骤:
var xhr =null;//创建对象 
if(window.XMLHttpRequest){
	xhr = new XMLHttpRequest();
}else{
	xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
     xhr.open(“方式”,”地址”,”标志位”);//初始化请求 
     xhr.setRequestHeader(“”,””);//设置http头信息 
     xhr.onreadystatechange =function(){}//指定回调函数 
     xhr.send();//发送请求 

  1. ajax 的过程
    1). 创建XMLHttpRequest对象,也就是创建一个异步调用对象
    2). 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息
    3). 设置响应HTTP请求状态变化的函数
    4). 发送HTTP请求
    5). 获取异步调用返回的数据
    6). 使用JavaScript和DOM实现局部刷新

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

  3. 页面编码和被请求的资源编码如果不一致如何处理?
    对于ajax请求传递的参数,如果是get请求方式,参数如果传递中文,在有些浏览器会乱码,不同的浏览器对参数编码的处理方式不同,所以对于get请求的参数需要使用 encodeURIComponent函数对参数进行编码处理,后台开发语言都有相应的解码api。对于post请求不需要进行编码

  4. GET和POST的区别,何时使用POST?
    GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符,有的浏览器是8000个字符
    POST:一般用于修改服务器上的资源,对所发送的信息没有限制
    在以下情况中,请使用 POST 请求:
    1). 无法使用缓存文件(更新服务器上的文件或数据库)
    2). 向服务器发送大量数据(POST 没有数据量限制)
    3). 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

  5. Ajax的最大的特点是?
    Ajax可以实现异步通信效果,实现页面局部刷新,带来更好的用户体验;按需获取数据,节约带宽资源;

  6. ajax的缺点
    1).ajax不支持浏览器back按钮。
    2).安全问题 AJAX暴露了与服务器交互的细节。
    3).对搜索引擎的支持比较弱。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值