Ajax 简单理念 个人小结

1 篇文章 0 订阅
1 篇文章 0 订阅

Ajax简单理念 结尾有个人编写时候的小总结

  • 什么是 AJAX ?

 

  1. Ajax(asynchronouse javascript and xml) AJAX = 异步 JavaScript 和 XML。
  2. 是7种技术的综合,它包含了七个技术(javascript xml xstl xhtml domxml http request css)ajax 是一个粘合剂。
  3. ajax是一个与服务器端语言无关的技术,即可以使用在(php/javaee/.net网站/asp)
  4. ajax可以给客户端返回三种格式数据(文本格式,xml,json格式)
  5. 无刷新数据交换技术有以下:flash,java,applet,框架,复燃么,ajax
  6. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
  • 传统的客户端和服务器响应方式缺点
  1. 数据是整体提交
  2. 整个页面有刷新
  3. 用户体验不好
  4. 占带宽
  5. 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
  • AJAX优点
  1. 页面无刷新的动态数据交换

 

  1. 局部刷新页面【验证用户名唯一】
  2. 界面的美观【增强用户体验】
  3. 对数据库的操作
  4. 可以返回简单的文本格式,也可以返回XML文件格式,json数据格式。
  • Ajax 的运行原理分析图:

 

  • Ajax在什么地方用的多
  1. 动态加载数据,按需取得数据。【树形菜单、联动菜单.../省市联动】
  2. 改善用户体验。【输入内容前提示、带进度条文件上传...】
  3. 电子商务应用。 【购物车、邮件订阅...】
  4. 访问第三方服务。 【访问搜索服务、rss阅读器】
  5. 数据的布局刷新

个人经验(不喜勿喷,个人总结):但是Ajax会存在异步概率性出现类似异步和同时进行,个人在使用Ajax出现过低级错误就是代码中写了两个Ajax, 我写的ajax是获取数据的值用,但是需要进行传入参数才能拿到想要的值。

定义了公共变量 第一个Ajax根据公共变量查询返回对应值并重新赋给公共变量一个值,但是第二个Ajax返回数据是空,回头查看发现定义的变量没有发生改变由此看出是同步进行了。

js脚本举例
Example:

var i = 1;
function a(){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, 
           { Edition:i},//需要的参数传入
             function (result) {
                 var data = result.data[0].datas; //获取数据
                i=data[0].zd //获取值改变全局变量值 比如此时i = '3班'
             }, function (msg) {
                  alert(msg)
             })
}
function b(){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, {  Edition:i}, //如或在后台跟代码会异步执行到这i = '3班'  
             function (result) {
                 var data = result.data[0].datas;
              var name = data[0].name
              var age = data[0].age
             }, function (msg) {
                  alert(msg)
             })
}
//以上由于同步执行会导致B获取的i值不对导致无法获取到想要的数据或传入的不对
应该为:
Example:(全局变量)

var i = 1;
function a(){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, 
           { Edition:i},//需要的参数传入
             function (result) {
                 var data = result.data[0].datas; //获取数据
                i=data[0].zd //获取值改变全局变量值 比如此时i = '3班'
                b()//此时是在a成功后并i重新赋值在执行b,如果是局部变量需要传值在下面例子中
             }, function (msg) {
                  alert(msg)
             })
}
function b(){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, {  Edition:i}, // 
             function (result) {
                 var data = result.data[0].datas;
              var name = data[0].name
              var age = data[0].age
             }, function (msg) {
                  alert(msg)
             })
}
//如果i 局部变量解决办法
Example:(全局变量)

var k = 1;
function a(){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, 
           { Edition:k},//需要的参数传入
             function (result) {
                 var data = result.data[0].datas; //获取数据
               var i=data[0].zd //获取值并定义局部变量i 比如此时i = '3班'
                b(i)//此时是在a成功后并定义i并赋值在执行b并将参数传入
             }, function (msg) {
                  alert(msg)
             })
}
function b(i){
  hwDas.get(
            http://1.0.0//举例我需要取值的地址,
             {}, {  Edition:i}, // 
             function (result) {
                 var data = result.data[0].datas;
              var name = data[0].name //得到的值
              var age = data[0].age //得到的值
             }, function (msg) {
                  alert(msg)
             })
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值