Ajax入门

本文介绍Ajax技术的基本概念及其组成技术,包括HTML、JavaScript、DHTML、DOM等,并详细讲解了如何利用JavaScript创建XMLHttpRequest对象实现与服务器的异步通信。

web2.0的宠儿-Ajax入门
Ajax(Asynchronous JavaScript + XML)

What is Ajax?
Ajax不是一门新的技术,只是运用几门技术组装成一个强大的功能,包含的是技术有:
HTML:用于建立 Web 表单并确定应用程序其他部分使用的字段。
JavaScript:是运行 Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信。
DHTML:DHTML 或 Dynamic HTML,用于动态更新表单。我们将使用 div、span 和其他动态 HTML 元素来标记 HTML。
DOM:文档对象模型 DOM 用于(通过 JavaScript 代码)处理 HTML 结构和(某些情况下)服务器返回的 XML。
……
JavaScript 对象:XMLHttpRequest(处理所有服务器通信的对象)
支持多种浏览器的方式创建 XMLHttpRequest 对象步骤:
建立一个变量 xmlHttp 来引用即将创建的 XMLHttpRequest 对象。
尝试在 Microsoft 浏览器中创建该对象: 尝试使用 Msxml2.XMLHTTP 对象创建它。如果失败,再尝试 Microsoft.XMLHTTP 对象。
如果仍然没有建立 xmlHttp,则以非 Microsoft 的方式创建该对象。
代码片断:
/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*IE客户端*/
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/
/*非IE客户端*/
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
1)发出请求
从 Web 表单中获取需要的数据。
建立要连接的 URL。
打开到服务器的连接。
设置服务器在完成后要运行的函数。
发送请求。
代码片断:
function callServer() {
  // Get the city and state from the web form
  var city = document.getElementById("city").value;
  var state = document.getElementById("state").value;
  // Only go on if there are values for both fields
  if ((city == null) || (city == "")) return;
  if ((state == null) || (state == "")) return;
  // Build the URL to connect to
  var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state);
  // Open a connection to the server
  //指定了连接方法(GET)和要连接的 URL。
  //最后一个参数如果设为 true,那么将请求一个异步连接(这就是 Ajax 的由来)。
  //如果使用 false,那么代码发出请求后将等待服务器返回的响应。
  //如果设为 true,当服务器在后台处理请求的时候用户仍然可以使用表单(甚至调用其他 JavaScript 方法)。
  xmlHttp.open("GET", url, true);
  // Setup a function for the server to run when it's done
  //onreadystatechange 属性可以告诉服务器在运行完成 后(可能要用五分钟或者五个小时)做什么
  xmlHttp.onreadystatechange = updatePage;
  // Send the request
  //已经在请求 URL 中添加了要发送给服务器的数据(city 和 state),
  //所以请求中不需要发送任何数据。这样就发出了请求,服务器按照您的要求工作。
 
  xmlHttp.send(null);
}
2)处理响应
什么也不要做,直到 xmlHttp.readyState 属性的值等于 4。
服务器将把响应填充到 xmlHttp.responseText 属性中。
代码片断:
function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
    document.getElementById("zipCode").value = response;
  }
}
本文来源于Jacken.zone(http://www.jacken.com.cn),原文地址: http://www.jacken.com.cn/web20-pets-ajax-starting.yy/

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值