2021-07-12

异步请求

Ajax_Day2_Post

Post提交方式的Ajax
	 <script type="text/javascript">
	$(function (){
	//当我们的鼠标焦点离开文本框时触发一个ajax的异步请求
	$("#input").blur(function(){
	//创建xhr 对象 javascript对象 存在着浏览器差异 浏览器的内核版本 ie webkit
	var xhr;
	if(window.XMLHttpRequest){//true webkit
	var xhr= new XMLHttpRequest();
	}else{
	var xhr=new ActiveObject("Micorsoft.XMLHTTP");
	} /
	/为当前的ajax设置提交方式,以及携带请求参数
	xhr.open("POST","http://localhost:8989/Ajax_Day1/first");
	//post的提交方式在哪儿
	//模拟当前的提交方式为form表单
	xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	//提交ajax的请求 send方法中以键值对的方式提交携带的参数
	xhr.send("name=ergou");
	//处理相应的字符串内容
	xhr.onreadystatechange=function(){
	if(xhr.status==200&&xhr.readyState==4){
	console.log(xhr.responseText);
	}
	}
	})
	})
	</script>

Action对于响应乱码的解决
public String execute() throws Exception {
	//通过struts2提供的工具类获取response响应对象
	HttpServletResponse response = ServletActionContext.getResponse();
	//通过response响应对象设置一个编码格式
	response.setCharacterEncoding("utf-8");
	PrintWriter writer = response.getWriter();
	writer.print("这是我当前的第一个postajax的请求");
	System.out.println(name+"11111111111111111");
	System.out.println("这是我当前的第一个postajax的请求");
	return null;
}

原生的Ajax与Json的交互

HTTP请求协议:只能接收以字符串为单位的数据
模拟需求:通过一个Ajax的异步请求 要求你给我返回一个对象,这个对象中的所有的数据展示到当前页面中
fastjson.jar ---->阿里巴巴---->号称全世界解析json对象最快的工具
jackjson--->国外
Goson--->Google

后台java将java对象转换成为json串的方式

//将当前的java对象转换成json对象
//String jsonString = JSONObject.toJSONString(user);
//使用JSON中的方法转换json对象的同时修改对象中的日期属性值
String newuser = JSONObject.toJSONStringWithDateFormat(user, "yyyy-MM-dd");

前台将Json串转换成为json对象的两种方式

//如何将后台转换成为json串的字符串转换成为前台所熟悉的json对象
//var a=JSON.parse(xhr.responseText);
var a=eval("("+xhr.responseText+")");
console.log(a.id)
console.log(a.name)

2021-07-12
有不对的地方还请大佬指点

上一篇:③ nodejs


下一篇:redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots