如果你的服务器的另一端返回的信息已经是 HTML 了,那么使用这个程序包中

Ajax.Updater 类将使你的生活变得更加得容易。用它你只需提供哪一个元素需要被 AJAX 请求返回的 HTML 填充就可以了,例子比我写说明的更清楚:

function getHTML()

{

var url = 'http://yourserver/app/getSomeHTML';

var pars = 'someParameter=ABC';

var myAjax = new Ajax.Updater(

'placeholder',

url,

{

method: 'get',

parameters: pars

});

}

你可以看到,这段代码比前面的例子更加简洁,不包括 onComplete 方法,但是在构造方法中传入了一个元素 id。 我们来稍稍修改一下代码来描述如何在客户端处理服务器段错误成为可能。

我们将加入更多的选项, 指定处理错误的一个方法。这个是用 onFailure 选项来完成的。我们也指定了一个 placeholder 只有在成功请求之后才会被填充。为了完成这个目的我们修改了第一个参数从一个简单的元素 id 到一个带有两个属性的对象,success (一切 OK 的时候被用到) 和 failure (有地方出问题的时候被用到) 在下面的例子中没有用到 failure 属性,而仅仅在 onFailure 处使用了 reportError 方法。

function getHTML()

{

var url = 'http://yourserver/app/getSomeHTML';

var pars = 'someParameter=ABC';

var myAjax = new Ajax.Updater(

{success: 'placeholder'},

url,

{

method: 'get',

parameters: pars,

onFailure: reportError

});

}

function reportError(request)

{

alert('对不起,出错了。');

}

如果你的服务器逻辑是连同 HTML 标记返回 JavaScript 代码,Ajax.Updater 对象可以执行那段 JavaScript 代码。为了使这个对象对待响应为 JavaScript,你只需在最后参数的对象构造方法中简单加入 evalScripts:true 属性。但是值得提醒的是,像这个选项名 evalScripts 暗示的,这些脚本会被执行,但是它们不会被加入到 Page 的脚本中。“有什么区别?”,可能你会这样问。我们假定请求地址返回的东东像这样:

function sayHi(){

alert('Hi');

}

如果你以前这样尝试过,你知道这些脚本不会如你所期望的那样工作,原因是这段脚本会被执行,但像上面这样的脚本执行并不会创建一个名叫 sayHi 的函数,它什么也不做。如果要创建一个函数,我们应当把代码改成下面这个样子:

sayHi = function(){

alert('Hi');

};

为什么我们在上面的代码中不使用 var 关键字来声明这个变量呢(指 sayHi),因为那样做创建出来的函数将只是当前脚本块的一个局部变量(至少在 IE 中是这样)。不写 var 关键字,创建出来的对象的作用域就是我们所期望的 window。

更多相关知识,请参看 Ajax.Updater 参考和 options 参考。

ajax.updater 返回值,使用 Ajax.Updater() 类相关推荐

  1. ajax php 返回值 数组,ajax 返回数组怎么解决???

    function check(){ var myphone = $("#myphone").val();//手机1 var friendphone = $("#frien ...

  2. form表单ajax提交 ac,請求Ajax 帶返回值的通用方法, 自動獲取頁面控件值(form表單post方法提交 ),自動給控件賦值...

    //自動獲取頁面控件值 function GetWebControls(element) { var reVal = ""; $(element).find('input,sele ...

  3. ajax函数返回值,ajax:怎么获得onreadystatechange调用的函数的返回值?

    异步的ajax实际上使用了单独的进程,因此无法获取到这个返回值,而且,在调用ajax()方法时你根本无法知道它什么时候会执行完毕. 因此对于异步的ajax来说,你无法主动的获取其返回值,只能提供回调方 ...

  4. jq中ajax的res是什么意思,关于jquery ajax中返回值的问题

    已解决问题 收藏 关于jquery ajax中返回值的问题 80 [ 标签:jquery,&nbspajax ] conn.open(); 我的星星页面 2009-10-25 11:52 JQ ...

  5. ajax返回request,WordPress的Ajax请求返回0(Wordpress ajax request return 0)

    WordPress的Ajax请求返回0(Wordpress ajax request return 0) 你好,我有一个WordPress的问题我无法获得ajax电话,我找不到原因. 我的查询一直返回 ...

  6. ajax.updater 返回值,jquery中Ajax.updater的等价物是什么?

    有使用一些方法阿贾克斯一样jQuery.ajax({...}) or $.ajax({...})除此之外还有它们的一些简化的版本太像: $.get()或jQuery.get() $.post()或jQ ...

  7. ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值

    我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...

  8. ajax登陆返回值判断,一个简单的ajax用户登陆返回值问题?有代码

    一个简单的ajax用户登陆返回值问题?有代码 來源:互聯網  2009-11-13 11:55:56  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: ...

  9. ajax取返回值的方法

    转载 var msg1;function Hosts(domain_name, ip_addr, create_person, create_time, host_num, operation) { ...

最新文章

  1. vs2015 Preprocessor
  2. Python读取大文件的坑“与内存占用检测
  3. python通过tkinter界面库实现三角形成立的测试
  4. python3多线程编程_Python 3多线程编程学习笔记-基础篇
  5. 《飞鸽传书2007绿色版下载》总结报告
  6. 栈溢出脚本_漏洞练习之网络编程与堆栈溢出技术
  7. win10可用空间变成未分配_系统C盘磁盘空间不够用的解决办法
  8. setTimeout和setInterval
  9. Remoting压缩信道的编程配置方式
  10. asp.net 通过IHttpModule开发接口
  11. OpenCV环境搭建(Windows+Visual studio)及Hello World
  12. 公司-ofo:ofo
  13. LBP特征原理及代码实现
  14. JavaScript学习手册四:JS对象
  15. 检测X光图像中Covid-19
  16. educoder——面向对象程序设计java——实验实训——实验二 - 面向对象
  17. iWork8 U80GT 平板安装Ubuntu Desktop 20.04 64位教程(理论适用所有Linux64位发行版)
  18. linux 嵌入式 远程升级,嵌入式设备远程固件升级方法与流程
  19. C语言学习之指针 *p++、*(p++)、(*p)++
  20. 分子动力学基本概念(持续更新)

热门文章

  1. post_thumbnail_html,WordPress 常用函数 / the_post_thumbnail
  2. 机器学习实践之集成方法(随机森林和AdaBoost元算法提高分类性能)
  3. 微信用计算机喊麦,另类占星师:我要做自己的微信电台
  4. 数学奥赛VS信息学奥赛(2022.07.19)
  5. G1-007 小鲁摘苹果 (10 分)(2022/3/15天梯赛校内选拔赛)
  6. SpringBoot整合JMS
  7. Windchill介绍
  8. MySQL数据库事务基本介绍、四大特征、隔离界别的使用方法
  9. 无代码自定义搭建业务系统选轻流
  10. 有源医疗器械常见技术问题及解答汇总