day16_Ajax

什么是Ajax

Ajax:(Asynchronous JavaScript And XML)指异步 JavaScript 及 XML

不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript、XML、HTML、CSS新用法

Ajax:只刷新局部页面的技术

  1. JavaScript:更新局部的网页
  2. XML:一般用于请求数据和响应数据的封装
  3. XMLHttpRequest对象:发送请求到服务器并获得返回结果
  4. CSS:美化页面样式
  5. 异步:发送请求后不等返回结果,由回调函数处理结果

JavaScript中XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力

构造方法

不同浏览器,甚至相同浏览器的不同版本,获取该对象的方式是不同的。

方法:

open()  "get|post" ,"url?name=tom" ,"true|false"

send()  发送请求 。可以带参数 或 null

setRequestHeader()

属性

       readyState:类型short;只读

       responseText:类型String;只读

我们向ajax后台的程序发送xmlhttp请求的时候, 后台程序接到请求会进行处理,处理结束后,可以返回一串数据给前台,这个就是responseText. 

       responseXML:类型Document;只读

       status:类型short;只读

事件处理器

       onreadystatechange

获取xmlhttprequet 

window.onload = function() {
	//1、获取XMLHttpRequest对象
	var req = getXMLHttpRequest();
	
	//4、处理响应结果
	req.onreadystatechange = function(){
		//alert(req.readyState);
		if(req.readyState==4){
			//alert(req.status);//查看服务器端响应状态
			if(req.status==200){//服务器响应一切正常
				alert(req.responseText);
				console.info(req);
			}
		}
	}
	//2、建立一个连接
	req.open("get","${pageContext.request.contextPath }/servlet/servletDemo1");
	//3、发送请求
	req.send(null);
}

 1、获取对象

2、建立连接

3、发送请求

4、处理响应结果

servletDemo1

public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
	PrintWriter out = response.getWriter();
	out.print("hello moto");
}

 

常用方法

方法名

说 明

open(method,URL,async)

建立与服务器的连接

method参数指定请求的HTTP方法,典型的值是GET或POST

URL参数指请求的地址

async参数指定是否使用异步请求,其值为true或false

send(content)

发送请求

content参数指定请求的参数

setRequestHeader(header,value)

设置请求的头信息

常用属性

onreadystatechange:指定回调函数

当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发 onreadystatechange 事件。

readyState 属性存有 XMLHttpRequest 的状态信息。

readyState: XMLHttpRequest的状态信息

就绪状态码

说    明

0

XMLHttpRequest对象没有完成初始化

即:刚刚创建。

1

XMLHttpRequest对象开始发送请求

调用了open方法,但还没有调用send方法。请求还没有发出

2

XMLHttpRequest对象的请求发送完成

send方法已经调用,数据已经提交到服务器,但没有任何响应

3

XMLHttpRequest对象开始读取响应,还没有结束

收到了所有的响应消息头,但正文还没有完全收到

4

XMLHttpRequest对象读取响应结束

一切都收到了

 

status:HTTP的状态码(网页返回的状态信息)

状态码

说    明

200

服务器响应正常

400

无法找到请求的资源

403

没有访问权限

404

访问的资源不存在

500

服务器内部错误

responseText:获得响应的文本内容

responseXML:获得响应的XML文档对象 documednt

注:就绪状态是4而且状态码是200,才可以处理服务器数据

4 >> XMLHttpRequest能读取对象

200 >> 服务器正确响应

使用Ajax验证用户名是否存在实现步骤:

  1. 使用文本框的onBlur事件
  2. 使用Ajax技术实现异步交互
    1. 创建XMLHttpRequest对象
    2. 通过 XMLHttpRequest对象设置请求信息
    3. 向服务器发送请求

创建回调函数,根据响应状态动态更新页面

JSON对象

对象语法:

{ "name":"runoob", "alexa":10000, "site":null }

访问对象值

你可以使用点号(.)或者([])来访问对象的值:

var myObj, x;
myObj = { "name":"runoob", "alexa":10000, "site":null };
x = myObj.name;

x = myObj["name"];

嵌套 JSON 对象:

myObj = {
    "name":"runoob",
    "alexa":10000,
    "sites": {
        "site1":"www.runoob.com",
        "site2":"m.runoob.com",
        "site3":"c.runoob.com"
    }
}

使用Jsonconfig可以去掉不要的字段

 

内容概要:本文系统介绍了算术优化算法(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、付费专栏及课程。

余额充值