Servlet返回的数据js解析2种方法


Posted in Javascript onDecember 12, 2019

这篇文章主要介绍了Servlet返回的数据js解析2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

方式1:Json

接收函数:ajax.responseText后面没括号

其实在之前所说的ajax中还遗留了一些问题就是,Servlet返回给js的数据是如何被js解析的呢?

之前只是发送了一句话,所以他就以html的格式进行解析就成功了,但是在实际中我们往往发送的数据是存在一个对象当中的又或者是一组对象当中的,我们应该如何发送呢?

json:js当中有一种有一种结构就是json,说白了就是键值对。

例如下面的:

{ "firstName":"John" , "lastName":"Doe" }

我们可以在Servlet将属性与值进行拼接,得到json格式的字符串,这样js中就能以这样的格式进行数据的解析了。

类似于下面这样:

resp.getWriter().write("{name:"+u.getHeroName()+ 
                ",lifenum:"+u.getLifeNum()+
                ",type:"+u.getType()+
                ",desc:"+u.getDesc()
        +"}")

但是对于懒癌来说这样的方式是极不友好的,所以就要说到强大的jar包了。

有一款名为gson的jar包可以帮你完成拼接的工作

对于使用就是你直接将对象丢进去就好,它会自动帮你转为json格式。

然后又有问题来了,json的数据给js有什么用,我们一般操纵的是对象呀!

别慌,eval帮你解决

Servlet返回的数据js解析2种方法

方式2:XML进行解析

接收函数:ajax.responseXML后面没括号

可以将用户数据以Xml进行发送然后js也以xml格式解析

用户数据的xml可以写在jsp中,然后js的跳转(open函数)就不用跳转到Servlet中而是jsp中找用户数据

用户数据jsp:

<%@ page language="java" contentType="text/xml; charset=utf-8"%>
<user>
  <name>李四</name>
  <pwd>123</pwd>
</user>

ajax接收数据jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
  function getXML(){
    //创建ajax引擎对象
      var ajax;
      if(window.XMLHttpRequest){//火狐
        ajax=new XMLHttpRequest();
      }else if(window.ActiveXObject){//ie
        ajax=new ActiveXObject("Msxml2.XMLHTTP");
      }
    //复写onreadystatechange
      ajax.onreadystatechange=function(){
        //判断Ajax状态吗
        if(ajax.readyState==4){
          //判断响应状态吗
          if(ajax.status==200){
            //获取响应内容
            var doc=ajax.responseXML;
            //处理响应内容
              //获取元素对象
              alert(doc.getElementsByTagName("name")[0].innerHTML);
          }
        }
      }
    //发送请求
      ajax.open("get","xml.jsp",true);
      ajax.send(null);
  }


</script>
</head>
<body>
  <h3>XML数据格式学习</h3>
  <hr>
  <input type="button" value="测试XML" onclick="getXML()" />
  
  
  
</body>
</html>

但是这种方式没有json好,所以推荐用json方式进行进行解析会更好一点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
获取DOM对象的几种扩展及简写
Oct 09 Javascript
JQuery中的$.getJSON 使用说明
Mar 10 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
jQuery实现给页面换肤的方法
May 30 Javascript
JavaScript中string对象
Jun 12 Javascript
jQuery Validate插件实现表单验证
Aug 19 Javascript
非常实用的vue导航钩子
Mar 20 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
node中的cookie的具体使用
Sep 13 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
微信小程序实现横向滚动导航栏效果
Dec 12 #Javascript
微信小程序 scroll-view 实现锚点跳转功能
Dec 12 #Javascript
微信小程序scroll-view锚点链接滚动跳转功能
Dec 12 #Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 #Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 #Javascript
微信小程序背景音乐开发详解
Dec 12 #Javascript
vue实现商城秒杀倒计时功能
Dec 12 #Javascript
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
jQuery之排序组件的深入解析
2013/06/19 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
浅谈python迭代器
2017/11/08 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
应用服务器有那些
2012/01/19 面试题
教师党员思想汇报
2014/01/06 职场文书
挂牌仪式主持词
2014/03/20 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
党员对照检查材料
2014/09/22 职场文书
国庆节慰问信
2015/02/15 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
2019销售早会主持词
2019/06/27 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
「月刊Action」2022年5月号封面公开
2022/03/21 日漫