eval这个函数是用来计算,或者执行里面的javascript代码。
你可以用
try {
eval(data);
}catch(exception) {
alert(exception);
}
看看返回的什么错误,你的data是个json字符串,显然用eval是无意义的,而且会报异常,一般是eval("("+data+")");把json字符串转为json对象[object Object].
你可以用
try {
eval(data);
}catch(exception) {
alert(exception);
}
看看返回的什么错误,你的data是个json字符串,显然用eval是无意义的,而且会报异常,一般是eval("("+data+")");把json字符串转为json对象[object Object].
解决方案 »
- [紧急求助]SmartUpload上传文件大于140k就上传不了.
- 调用webservice就是不好使.求助.
- 没有人能解决的问题???
- jsf自定义组件中标签类的getRendererType()方法和组件类的setRendererType()方法是干什么的?有什么联系?是怎样调用配置文件的?
- 请各位给些思路(对局域网内即时聊天工具监测)
- iframe 问题 请大家帮帮忙,小弟是新手!!!
- 怎样实现文本框选择性负值
- BMP EJB 问题集
- 求教JAVA的集成IDE开发环境
- myeclipse与浏览器之间的乱码问题,急急急
- springMVC controller中封装json参数特殊字符被转译了
- Spring 注入jdbcOperations 失败 请教各位高手 谢谢!!!
//1。向服务器发起请求,获取数据
$.get("GetStockInfo", null, function(data) {
//2.接收并解析数据
obj = eval(data);
//2.1获取两只股票的当前指数信息
var szzs = obj["300001"]; //obj.300001
var pfyh = obj["000001"];
/*
遍历一个js的对象
for (var stockid in obj) {
var stock = obj[stockid];
}
*/
//2.2找到页面中对应的节点,然后填充最新的股票价格
var span3 = $("#300001").children("span");
span3.html(szzs.now);
if (szzs.now > szzs.yes) {
//当前价格大于昨天收盘,则显示红色
span3.css("color","red");
} else {
span3.css("color","green");
}
var span1 = $("#000001").children("span");
span1.html(pfyh.now);
if (pfyh.now > pfyh.yes) {
//当前价格大于昨天收盘,则显示红色
span1.css("color","red");
} else {
span1.css("color","green");
}
updatediv();
})
}
后台的代码://采用json的数据格式返回股票的信息
StringBuilder builder = new StringBuilder();
//采用数组的方式回传两个股票对象
/*
builder.append("[{name:\"").append(szzs.getName()).append("\",id:\"").append(szzs.getId())
.append("\",yes:").append(szzs.getYesterday()).append(",tod:").append(szzs.getToday())
.append(",now:").append(szzs.getNow())
.append("},")
.append("{name:\"").append(pfyh.getName()).append("\",id:\"").append(pfyh.getId())
.append("\",yes:").append(pfyh.getYesterday()).append(",tod:").append(pfyh.getToday())
.append(",now:").append(pfyh.getNow())
.append("}]");
*/
//采用对象的方式回传两个股票对象
builder.append("{")
.append("\"").append(szzs.getId()).append("\":{name:\"").append(szzs.getName())
.append("\",yes:").append(szzs.getYesterday()).append(",tod:").append(szzs.getToday())
.append(",now:").append(szzs.getNow())
.append("},")
.append("\"").append(pfyh.getId()).append("\":{name:\"").append(pfyh.getName())
.append("\",yes:").append(pfyh.getYesterday()).append(",tod:").append(pfyh.getToday())
.append(",now:").append(pfyh.getNow())
.append("}}");
out.println(builder);他这样写结果也是正常的,你能看下为什么吗
具体的看一下: Eval函数和new function方式解析Json对象(new Function('','return '+data))();刚在一个群里问也说没必要用eval那这种情况该怎么写呢
你哪个教程里的eval可能是经过封装后的,直接用的话会报错的。