加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax接收action传过来的json数据

发布时间:2020-12-16 00:34:07 所属栏目:百科 来源:网络整理
导读:先把需要的包加进来,在上篇里 下面是实现代码,先记录下 try{ MapString,Object map = new HashMapString,Object(); map.put("name","jj"); map.put("age","22"); JSONObject json = JSONObject.fromObject(map);//将map对象转换成json类型数据 this.user =

先把需要的包加进来,在上篇里

下面是实现代码,先记录下

		try{
		      Map<String,Object> map = new HashMap<String,Object>();
		      map.put("name","jj");
		      map.put("age","22");
		      JSONObject json = JSONObject.fromObject(map);//将map对象转换成json类型数据
		      this.user = json.toString();//给user赋值,传递给页面
		}catch(Exception e){
			e.printStackTrace();
		}
		return SUCCESS;


		if(xmlhttp.readyState==4&&xmlhttp.status==200)
        {
        	alert("完成请求:"+xmlhttp.responseText);
        	var text = xmlhttp.responseText ;
   		 	var jsonObj = eval("("+xmlhttp.responseText+")");  //第一次解析得到user对象
   		// 	alert("jsonObj[0] "+jsonObj[0]);
   		 	alert("jsonObj.user "+jsonObj.user);
   		//	alert("jsonObj.user.age "+jsonObj.user.age);   //这样不能访问到,为什么
		//	alert("jsonObj.length "+jsonObj.length);
		    alert("jsonObj.user.length "+jsonObj.user.length);
   		 	alert("jsonObj.user[0] "+jsonObj.user[0]);
   		 	alert("jsonObj.user[1] "+jsonObj.user[1]);
   		 	alert("jsonObj.user[2] "+jsonObj.user[2]);
   		 	alert("jsonObj.user[3] "+jsonObj.user[3]);
   		 	var user = eval("("+jsonObj.user+")"); //再一次解析,得到user对象的json数据
   		 	alert("user "+user);
   		 	alert("user.name "+user.name);         //这样能访问到了 ,真是奇怪
   		 	alert("user.age "+user.age);
        }
这里不知道为什么传过来的json数据要经过两次 eval( ) 解析才可以读出来,弄了一下午,网上都 是jquery的实现,感觉用这个的很少,几乎没有,


这里我传了个json字符串给ajax,然后解析出来,可以得到user对象,即 jsonObj.user


但是奇怪的是 jsonObj.user.name 或者jsonObj.user.age是没有定义的空值,

后面调试过程中(可以通过输出 jsonObj.user[0],jsonObj.user[1] ,等发现 jsonObj.user 是一个字符串对象,而不是json数据对象 )发现 jsonObj.user 是一个字符串,并不是json数据 ,这是为什么呢??? 后面对jsonObj.user进行eval() 操作后,就可以按json数据格式访问了 !尼玛??为什么??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读