ajax(04)

本文深入探讨了AJAX POST请求的实现方式,包括XMLHttpRequest的使用、数据格式设定及发送,同时介绍了JSON数据格式及其与JavaScript对象的关系,解析了JSON语法特点及如何将JSON字符串转换为JS对象。

1.ajaxpost请求

if(window.XMLHttpRequest){
		var xhr = new XMLHttpRequest()
	}else{
		var xhr = new ActiveXObject('Microsoft.XMLHttp')
	}
	//2.绑定监听
	xhr.onreadystatechange=function (){
		if(this.readyState==4&&this.status==200){
			var result = this.responseText;
			alert(result);
		}
	};
	//3.打开链接创建请求
	不需要再url后面拼接参数
	var url = '/demo/postlogin';
	xhr.open('post',url,true);
	//4.发送方请求
	*****************************************************
	//由于默认请求的方式是text/plain只能传递普通字符
	//无法传递特殊字符(&)
	//需要设置
	xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	注意:setRequestHeader 必须写在xhr和send之间
	请求主体  格式 ?之后的格式一致
	var formdata="ename="+txt1.value+"&upwd="+ma.value;
	console.log(formdata);
	xhr.send(formdata);

2.json数据格式
1.js对象数据格式

var stu ={
	name:'tom',
	age:18,
	height:175
}

2.json数据的格式

什么是json
JavaScript object Notation
以js对象的数据格式显示出来的字符串
服务器查询数据库得到result是js对象的数组
响应给前台ajax后,被自动转换为json字符串

json语法
1.json中用一对{}表示一个对象
2.json中的属性名称,必须使用""引起来(不能使用单引号)
如果属性的值也是字符串,也必须用双引号引起来
3.表现出来的是一个字符串,所以最外面加引号(使用单引号)
普通的字符串

var tom="汤姆";
var tom='{"name":"tom","age":18}';
普通数组
var arr =["tom","limi"];
json
var jsonarr='[
	
]'

将json字符串转换成js对象/数组
使用JSON.parse()将json字符串解析为js对象/数组
3XML
XML:eXtensible markup language (可扩展的标记语言)
XML的标签没有被定义过,需要自行定义(主要做数据传递)
语法

最顶部出现 
<?xml version='1.0' encoding='utf-8' ?>
没有单标记 只有双标记 
严格区分大小写
可以嵌套
每个标签允许自定义属性 格式 与html一致 属性值必须用""括起来
每个xml只有一个根元素

3.ajax访问xml数据
var result = xhr.responseXML 获取xml内容
result相当于根目录(studentlist)
result.getElementsByTagName() 返回的是类数组 可以使用for循环操作
只能使用for循环操作,但是数组的所有api都不能用
4.整合代码
把写好的删除功能的代码放到显示用户列表代码中去,由于deleteUser()传递给服务器的参数是来自input中的值,在用户列表中没有信息框所以xhr.open()中的url需要改成‘/myPro/deleteUser’+uid 这个uid需要通过 实参传进去 所以在命名函数的deleteUser()这里传入uid 变成deleteUser(uid)。然后在load这个命名函数中找到删除代码的a标签 改成如下代码<a href="javascript:deleteUser('+arr[i].uid+');">删除</a>将点击时的uid作为实参
然后在服务返回浏览器显示结果的时候设置一个判断 当删除成功返回1时让她弹框然后重新加载load()事件即可

获取url中uid数据代码

var  urlParams = new URLSearchParams(location.search);
var uid = urlParams.get('uid');
【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值