基础题五

1.如何解决AJAX的跨域问题?
1、在请求页面上使用Access-Control-Allow-Origin标头。
   使用如下标头可以接受全部网站请求:
header(‘Access-Control-Allow-Origin:*’)
  使用如下标头可以接受指定网站请求:
header(‘Access-Control-Allow-Origin:http://www.abc.com‘)
2、使用jsonp跨域请求。
data=jsonencode(array(msg=>msg.));die( d a t a = j s o n e n c o d e ( a r r a y ( ‘ m s g ′ = > ′ m s g … . ′ ) ) ; d i e ( _REQUEST['function_name_index'].'('.$data.’)’ );




测试

$.ajax({ url:'http://192.168.1.124/homekoo.com/zde/cors_1.php', dataType:'jsonp', jsonp:'function_name_index', jsonpCallback:'function_name', success:function(data){ alert(data.msg); } });


2.什么是AJAX?AJAX的技术体系组成是由那几部分组成?
不是新技术,而是之前技术的整合
   Ajax: Asynchronous Javascript And Xml;
       (异步的JavaScript和XML)
   包括的技术:JavaScript、XML、CSS、XMLHttpRequest
   异步:发送请求以后,不等结果,由回调函数处理。
   JavaScript:向服务器发送请求,获得返回结果,更新页面
   XML: 用来封装数据
1)创建XMLHttpReuest对象
     非IE浏览器(Mozilla/Safari):
     var xhr=new XMLHttpRequest();
     IE:
     xhr=new ActiveXObject(“Msxml2.XMLHTTP”);
     低版本IE:
     xhr=new ActiveXObject(“Microsfot.XMLHTTP”);
   2)XMLHttpRequest对象的属性与方法
     a)方法:
      open(“GET/POST”,URL,true/false):用来向服务器建立连接
       有三个参数:
       参数1:提交方式,post或get
       参数2:请求的URL
       参数3:表示同步或异步请求,true:表示异步请求
       false: 表示同步请求
      send(data):发送请求
       参数:提交的内容。
       POST方式:data就是提交的参数,send(username=root&password=abc123);
       GET方式:send(null)
    b)属性:
     onreadystatechange:设置状态改变时的回调函数,回调函数用来获取服务器数据。
       onreadystatechange=function(){      
       }

     readyState:服务器状态响应
       状态码:
       0:未初始化
       1:正在加载
       2:加载完成
       3:请求进行中
       4:请求完成

     responseText:服务器返回的数据(文本格式)
     responseXML:服务器返回的数据(XML格式)

3.AJAX的优点与缺点分别是什么?。
(1).AJAX的优点
<1>.无刷新更新数据。
AJAX最大优点就是能在不刷新整个页面的前提下与服务器通信维护数据。这使得Web应用程 序更为迅捷地响应用户交互,并避免了在网络上发送那些没有改变的信息,减少用户等待时间, 带来非常好的用户体验。
<2>.异步与服务器通信。
AJAX使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。优化了 Browser和Server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。
<3>.前端和后端负载平衡。
AJAX可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服 务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,AJAX的原则是“按需取 数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。
<4>.基于标准被广泛支持。
AJAX基于标准化的并被广泛支持的技术,不需要下载浏览器插件或者小程序,但需要客户允许 JavaScript在浏览器上执行。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。 同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。
<5>.界面与应用分离。
Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),有利于分工合作、减少非技 术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。
(2).AJAX的缺点
<1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
<2>.AJAX的安全问题。
<3>.对搜索引擎支持较弱。
<4>.破坏程序的异常处理机制。
<5>.违背URL和资源定位的初衷。
<6>.AJAX不能很好支持移动设备。
<7>.客户端过肥,太多客户端代码造成开发上的成本。

4.AJAX应用和传统Web应用有什么不同?
a)在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。
因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而且用户交互不友好。
使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。
通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是同一个页面,用户感觉不到页面刷新,也看不到Javascript后台进行的发送请求和接受响应。
5.Ajax和javascript的区别?
a) javascript是一种用于浏览器的脚本语言,它的主要功能分dom和bom操作两种,前者用于对网页文档进行操作,后者对于浏览器对象进行操作,它们都具有丰富多彩的强大效果。虽然JavaScript在诞生之初借用了Java的名,但从前景来看,这种动态弱类型的脚本语言可能比静态强类型的Java要更有前途。

Ajax诞生于2005年,这是一种借助XMLHttpRequest异步与后台进行通信的“新”技术。XMLHttpRequest,加上dom,css,xml等各项技术,再使用JavaScript将它们糅合在一起,就组成了Ajax。它的最大特点是异步无刷新的响应机制,这使BS程序开始在界面感观上能与CS程序媲美。此外,Ajax还不限后台语言,这使得它从诞生之初就得到了非常广泛的认同和使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值