如何将JSON数据转换为HTML格式?

时间:2011-07-29 02:42:27

标签: javascript html ajax json

我正在尝试显示从ajax调用中检索的JSON数据,但我无法显示任何数据,尽管获得JSON对象就好了。

<!DOCTYPE html>

<head>
<title></title>
<script src="jquery.js"></script>
</head>

<script>


$(document).ready(function(){
$.getJSON("http://servername:10000/_vti_bin/webservice/service1.svc/getListTitle",
  {
    username: "a",
    password: "b",
    list: "calendar",
  },
  function(data) {
    alert(1);
    // and the rest
  }
)
});

</script>

<body>
</body
</html>

我没有得到任何警报但是使用Fiddler我可以看到JSON对象。

{"GetListTitleResult":"Calendar"}

那我在这里错过了什么?任何帮助赞赏。提前谢谢。

编辑:似乎代码不会一直到函数(数据)部分。但是firebug也没有显示任何语法错误。我仍然通过Fiddler获得JSON响应。这里有什么帮助吗?

3 个答案:

答案 0 :(得分:4)

以这种方式更改您的代码 -

$.getJSON("http://servername:10000/_vti_bin/webservice/service1.svc/getListTitle",
{
    username: "a",
    password: "b",
    list: "calendar",
},
function(data)
{
    $.each(data, function(i,item)
    {
        alert(item);
    });
});

在我看来,这些是您犯下的错误 -

  1. 由于data本身就是一个集合,因此您无需获取data.items。只需将data原样传递给each函数。
  2. each迭代器的回调将为集合中的每个项目传递keyvalue。因此,i将为GetListTitleResultitem将为Calendar

答案 1 :(得分:2)

这不是getJSON()的方法签名。您无需使用success:键入成功回调。你还有一些括号,括号和分号太多了。将其更改为

$.getJSON("http://servername:10000/_vti_bin/webservice/service1.svc/getListTitle",
  {
    username: "a",
    password: "b",
    list: "calendar",
    format: "json"
  },
  function(data) {
    console.log(data);
    // and the rest
  }
);

答案 2 :(得分:0)

如果您的方法如下:

public string getListTitle(string username, string password, string list, string format)

然后你的ajax数据很好。如果是这样的话:

public string getListTitle(MyObject data)

然后你需要这个:

{data: { 
    username: "a",
    password: "b",
    list: "calendar",
    format: "json"
  }
}

编辑:

function(data) {
    alert(data.GetListTitleResult);
});