ajax无法发送json串,Ajax检索Json字符串,但无法将成功数据循环为对象

我的项目是用d3.js绘制grahp。我发现了一些php代码,这绝对是我想要的。但我正在与C#和主场迎战所以我把它转换成asp.net。首先,我想编写一些硬编码数据样本并使用d3.js绘制图像。以及该PHP项目的JavaScript代码。现在我有一个返回json字符串的服务器端webmethod。参数dataSample是一个Dictionary类型。它看起来像下面,没有任何错误。Ajax检索Json字符串,但无法将成功数据循环为对象

return JsonConvert.SerializeObject(dataSample);

在前端我使用ajax来检索数据。

$.ajax({

type: 'POST',

url: 'Map.aspx/read_data',

contentType: 'application/json; charset=utf-8',

data: "{ }",

dataType: "json",

success: function(response) {

d3.json("", function (data) {

graph.data = response.d;

drawGraph();

});

},

error: function(error) {

console.log("Wwoops something went wrong !");

}

});

Ajax调用成功完成,这是response.d像下面

{"DSO":{"name":"DSO","type":"group0","depends":["BPR","Transmission Company","Government"],"dependedOnBy":["TSO","Transmission Company"],"docs":""},"TSO":{"name":"TSO","type":"group1","depends":["BPR","DSO","Producer Secondary Energy","Government"],"dependedOnBy":["Producer Secondary Energy"],"docs":""}}

然后我想每个循环JSON对象,所以我可以告诉drawGraph()来绘制控制台日志显示graph.data节点为每个对象,例如:

for (var name in graph.data) {

var obj = graph.data[name];

console.log("name: " + name + "object: " + obj);

我的问题是CONSOLE.LOG( “名称:” +名称+ “对象:” + OBJ)是不JSON输出每个对象。它循环每个字母而不是单个对象。

的incorrent的console.log输出 fBDZK.png

我想输出中的对象,而不是这个。

2015-12-18

Lucky

+0

的数据很可能还是一个JSON字符串,而不是一个对象呢,所以尝试解析它。请小心。 –

+2

另外,您的'ajax'调用很奇怪。你不需要'$ .ajax('和'd3.json',这两种方法都可以进行这个调用,你可以删除'd3.json'。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值