最近用到了YUI,在数据格式上有个问题
//比如从LABEL中读取的数据
var obj = document.getElementById("Label1");
var mydata=obj.innerHTML;
alert(mydata);
/*alert出来的数据是:
{inventory:[{SKU:"23-23874", Quantity:43, Item:"Helmet", Description:"Red baseball helmet. Size: Large."},{SKU:"48-38835", Quantity:84, Item:"Football", Description:"Leather football."},{SKU:"84-84848", Quantity:31, Item:"Goggles", Description:"Light blue swim goggles"},{SKU:"84-84843", Quantity:56, Item:"Badminton Set", Description:"Set of 2 badminton rackets, net, and 3 birdies."}]}
*/YAHOO.example.Data = mydata;
//客户端没有显示数据,提示No records found.
但是,我直接在JS里写var mydata = {inventory:[{SKU:"23-23874", Quantity:43, Item:"Helmet", Description:"Red baseball helmet. Size: Large."},{SKU:"48-38835", Quantity:84, Item:"Football", Description:"Leather football."},{SKU:"84-84848", Quantity:31, Item:"Goggles", Description:"Light blue swim goggles"},{SKU:"84-84843", Quantity:56, Item:"Badminton Set", Description:"Set of 2 badminton rackets, net, and 3 birdies."}]};
alert(mydata);//alert出来是object
YAHOO.example.Data = mydata;
//这样是可以在客户端显示数据的
请问各位,第一段代码中要怎么改才能在客户端显示数据?是不是第一段JS中把字符串转换成object?怎么转
对Javascript接触不多,对JSON更是第一次听说,如果表达不对,请见谅
//比如从LABEL中读取的数据
var obj = document.getElementById("Label1");
var mydata=obj.innerHTML;
alert(mydata);
/*alert出来的数据是:
{inventory:[{SKU:"23-23874", Quantity:43, Item:"Helmet", Description:"Red baseball helmet. Size: Large."},{SKU:"48-38835", Quantity:84, Item:"Football", Description:"Leather football."},{SKU:"84-84848", Quantity:31, Item:"Goggles", Description:"Light blue swim goggles"},{SKU:"84-84843", Quantity:56, Item:"Badminton Set", Description:"Set of 2 badminton rackets, net, and 3 birdies."}]}
*/YAHOO.example.Data = mydata;
//客户端没有显示数据,提示No records found.
但是,我直接在JS里写var mydata = {inventory:[{SKU:"23-23874", Quantity:43, Item:"Helmet", Description:"Red baseball helmet. Size: Large."},{SKU:"48-38835", Quantity:84, Item:"Football", Description:"Leather football."},{SKU:"84-84848", Quantity:31, Item:"Goggles", Description:"Light blue swim goggles"},{SKU:"84-84843", Quantity:56, Item:"Badminton Set", Description:"Set of 2 badminton rackets, net, and 3 birdies."}]};
alert(mydata);//alert出来是object
YAHOO.example.Data = mydata;
//这样是可以在客户端显示数据的
请问各位,第一段代码中要怎么改才能在客户端显示数据?是不是第一段JS中把字符串转换成object?怎么转
对Javascript接触不多,对JSON更是第一次听说,如果表达不对,请见谅
var obj = eval(jsonString)
var obj = new Function("return "+jsonString)()的方式可以生成JavaScript Object
这样你alert()出来就是[Object]这是正确的结果。
你还没弄清楚JavaScript Object的基本原理呢还是不要使用框架不然肯定会晕。一般的做法都是将接收到的JSON字符串转成对象之后操作dom显示。
var obj = document.getElementById("Label1");
eval("var mydata="+obj.innerHTML);
谢谢你的建议,我只是临时拉过去做这个,时间还很少,哎用
var obj = eval(jsonString)
var obj = new Function("return "+jsonString)()
两种方法出来的都是[object Object],而不是[Object]
alert(mydata);//alert出来是object
YAHOO.example.Data = mydata;
//这样是可以在客户端显示数据的这个效果是一样的
不过alert出来的也是[object Object]