window.onload = function showcate()
{
var dt = document.getElementsByName("dt");
$.ajax({
type:"post",
url: "Hander/Category.ashx",
success: function (msg)
{
var category=$.parseJSON(msg);
for (var i = 0; i < dt.length; i++)
{
dt[i].innHTML = "<a herf='#'>" + category[i].CategoryName + "</a>";
}
}
});
}
一般处理文件返回的是json,要反序列化之后放在<dt></dt>中;求大神指导
<script type="text/javascript">
$(document).ready(function () {
var jsonstr = "{'name':'aaaa','age':'12'}";
var json = eval("(" + jsonstr + ")");
alert(json.name);
var jsonstr1 = "[{'name':'aaaa','age':'12'},{'name':'aaaa','age':'12'}]";
var json = eval("(" + jsonstr1 + ")");
alert(json[0].name);
});
</script>
请给分,谢谢
理解json序列化与反序列化:
序列化:将json对象转换为json字符串
反序列化:将json字符串转换为json对象
一般处理文件返回的是json的字符串格式,即你代码中的msg,要反序列化,就是使用$.parseJSON能达成目的了。
我的category里面有值了,关键是如何取出来放到页面的dt标记中啊
category的值
@混沌战士: 你的函数已经实现了啊,只是有错误的话修正下就好了。
@519740105: 根本就不识别我的category[i].CategoryName;直接报错
@混沌战士: 你要这样使用,必须你的msg是复合数组格式的json,只有这样才会是一个数组。
你的category的值是一个数组吗?
一般处理文件里面是返回的集合
@混沌战士: 目前报的什么错误?
@晓菜鸟: 没有category.CategoryName
@混沌战士: 你不是用的category[i].CategoryName吗?
@晓菜鸟: category[i].CategoryName是这个,但是不行
@混沌战士: 你在控制台调试看看你这个category对象里面存储的是什么格式的?是一个数组还是一个对象。