Ajax 异步提交(XMLHttpRequest对象,GET方式、axios框架,json)

文章介绍了Ajax技术用于无刷新页面更新,通过XMLHttpRequest对象实现异步请求,详细阐述了open和send方法。接着提到了axios框架,演示了GET和POST请求的使用。最后,讨论了Json作为轻量级数据交换格式在Java和前端交互中的应用。
摘要由CSDN通过智能技术生成

目录

一、Ajax简介

二、创建XMLHttpRequest对象

三、axios框架

四、Json


一、Ajax简介

1.使用Ajax可以无刷新更新页面实现异步提交,提升用户体验。

2.实质是用浏览器提供了一个特殊的对象(XMLHttpRequest),异步的向服务器发送请求( 使用一个js提供的对象向后端发送请求,会被js对象接收,然后在js中,用接收到的内容局部更新网页,此过程整个页面不会更新)。

二、创建XMLHttpRequest对象

1.创建XMLHttpRequest对象

        发送请求到服务器并获得返回结果.

         var httpObj=new XMLHttpRequest();

2.常用方法和属性

2.1 常用方法:

        • open(method,URL,async);

           建立与服务器的连接 ;

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

           URL参数指定请求的地址;

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

        • send(content);

           发送请求;

           content参数指定请求的参数

        • setRequestHeader(header,value);

           设置请求的头信息

2.2 属性

        • onreadystatechange:事件

        • readystate: XMLHttpRequest的状态信息

        • responseText:获得响应的文本内容

3.Get方式提交

<script type="text/javascript">
			function checkAccount(account){
			//location.assign("http://127.0.0.1:8080/webBack/reg?account="+account)
				var httpObj=new XMLHttpRequest();
				httpObj.open("GET","http://127.0.0.1:8080/webBack/reg?account="+account,true);
				httpObj.send();//发送请求
				
				//接收请求,匿名函数,直接被事件触发
				httpObj.onreadystatechange=function(){
					/* alert(httpObj.responseText); */
					document.getElementById("msgId").innerHTML=httpObj.responseText;//存在一个跨域问题,浏览器默认不让前端8848接收来自其他服务器的响应数据
				}
			
			}
		</script>

三、axios框架

● 下载axios文件https://unpkg.com/axios/dist/axios.min.js

● 导入项目:将文件导入到Hbuilder项目js文件下

● get请求

●post请求

<script src="js/axios.min.js"></script>
		<script type="text/javascript">
			function checkAccount(account){
				/* axios.get("http://127.0.0.1:8080/webBack/reg?account="+account).then(function(resp){
					//console.log(resp.data);//获取后端响应的数据,默认为json格式
					document.getElementById("msgId").innerHTML=resp.data;
				})	 */	
				
				axios.post("http://127.0.0.1:8080/webBack/reg","account="+account).then(function(resp){
					document.getElementById("msgId").innerHTML=resp.data;
				})
			}
		</script>

四、Json

1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.

●java代码

 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String num=req.getParameter("num");
        Student student=new Student(num,"卡卡","女");
        //resp.getWriter().print(student);打印的是哈希值
        /*涉及了两种不同语言间进行数据交互,以前的Java将数据写到了一个xml文件中,把xml文件传给前端,前端解析,这很复杂;
        现在的交互中,产生了一种轻量级的数据格式{num:"num",name:卡卡,gender:女}*/

        ObjectMapper objectMapper=new ObjectMapper();
        String s=objectMapper.writeValueAsString(student);
        System.out.println(s);
        resp.getWriter().print(s);
    }

●HTML代码

<script src="js/axios.min.js"></script>
		<script type="text/javascript">
			function checkAccount(num){

				axios.post("http://127.0.0.1:8080/webBack/reg","num="+num).then(function(resp){
					console.log(resp.data.num);
					console.log(resp.data.name);
					console.log(resp.data.gender);
				})
			}
		</script>

浏览器控制台

Java控制台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小谭同学ha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值