不使用jquery取得struts2 json插件的返回值,使用最原始ajax方式取得json对象

          struts2的json插件返回值是一个json对象,如果用jquery的ajax方法很容易取得,但是在使用别人的控件(未使用jquery)或者不使用jquery来操作数据时,就会遇到问题了。此时我们用原始的ajax方式来获取。如下图,看起来是一个json对象,实际上不是,只是一个字符串而以,因为我们用的是new XMLHttpRequest()。responseText来取值的。所以还必须转化一下,郁闷许久之后在一个哥们的博客上发现了该方法(感谢这位哥们,其实自己看书的时候也注意到了该方法,只是没放在心上,靠,经常出现这种问题),方法如下:
在字符串两端再加上括号然后eval就ok了

var gethttp = function()
 {
  try{ return new XMLHttpRequest(); }catch(e){}
  try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(e){}
  try{ return new ActiveXObject('Microsoft.XMLHTTP'); }catch(e){}
 
  return null;
 };

var oh = gethttp();

var retxt = oh.responseText
retxt=eval('('+retxt+')')//这句最重要,上面可以忽略

 

换句话说,即使你拼接出符合json格式的字符串,还需要用eval(),才能真正变成json对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值