在JavaScript中如何循环来自asmx Web服务的数据? (由JavaScriptSerializer序列化)

时间:2013-11-03 07:21:41

标签: javascript json web-services web

我的.asmx网络服务正在返回成对的文件路径和文件名,如下所示:

[{"thumb":"path/image01_thumb.jpg","image":"path/image01.jpg"},{"thumb":"path/image01_thumb.jpg","image":"path/image01.jpg"}.....etc ] 

我正在尝试遍历响应并为每个元素获取属性thumbimage,但下面的所有尝试都让我失望。

$.ajax({
   type: "POST",
   url: "mywebservice",
   data: "{'startpath':'somepath'}",
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   async: false,
   success: function (msg) {
      $.each (msg, function (m) {
         console.log("alert 3   " + m.thumb);   // output: undefined
         console.log("alert 4   " + m.image);   // output: undefined
   });
}

进一步调整......

console.log("alert 1   " + msg); //output: [object object]
console.log("alert 2   " + msg.d); //output: the entire response 

如何循环响应并获取上述值。我在chrome和IE 9中获得了相同的结果。使用Jquery 1.3.2因为我正在使用galleriffic库。

1 个答案:

答案 0 :(得分:0)

您有一个JSON字符串,将其解析为一个对象。

var anObject = JSON.parse(msg);

然后您可以引用项目及其属性

anObject[i].thumb