使用jquery或ajax从json查看数据和操作日期

时间:2012-04-11 11:40:43

标签: json

首先,我是jquery和ajax的初学者, 我想要做的是从链接中的整个json文件中查看样本

http://soap.madarat.jo/Services/BusinessApplication1-DomainService1.svc/json/gettasks

编辑样本的可能性是什么,

 <!DOCTYPE HTML>
 <html>
 <head>
<title>json test</title>
<script src="js/json2.js" type="text/javascript"></script>
<script src="js/jquery-1.4.2.js" type="text/javascript"></script>
<script src="jtip.js" type="text/javascript"></script>

  <script type="text/javascript">

  function query() {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", "http://soap.madarat.jo/Services/BusinessApplication1-       DomainService1.svc/json/gettasks", false);
        xmlhttp.send();
        var results = JSON.parse(xmlhttp.responseText);
        var html = '<ol>';
        alert(results.GetTasksResult);
        if (results.GetTasksResult != null) {
            var title;
            alert(results);
            for (var i = 0; i < results.GetTasksResult.RootResults.length; i++ ) {

                entity = results.GetTasksResult.RootResults[i];
                html += '<li>'+entity.DoctorID +' by <b>'+ entity.TaskNote +'</b></li> <br><br> ';
            }
            document.getElementById('results').innerHTML = html;
        }
    }



  </script>
 </head>
 <body>

    <button type="button" onclick="query()">jquery</button>
        <div id="results" />


</body>
</html>

但是当我点击按钮时没有任何反应,

为什么会发生这种情况

谢谢

1 个答案:

答案 0 :(得分:0)

您没有正确使用请求者对象。你所做的就是发出请求,但没有等待回复。这段代码异步工作,但你认为它是同步的,这就是为什么你开始处理数据之前你甚至得到它。

使用jQuery发出Ajax请求

$.ajax({
   type: "GET",
   url: "http://soap.madarat.jo/Services/BusinessApplication1-DomainService1.svc/json/gettasks",
   success: function(data, status, xhr){
       data = data + "" == data ? $.parseJSON(data) : data;
       var el = $("#results").append("<ol></ol>").children("ol").first();
       if (data.GetTaskResult) {
           $.each(data.GetTaskResult.RootResult, function() {
               el.append("<li>" + this.DoctorID + " by <b>" + this.Tasknote + "</b></li>");
           });
       }
   }
});

这可能有错误,但它与你的代码大致相同。

另外,你不需要添加json2库,我也不知道你的jtip。

我能给你的最佳提示

首先尝试熟悉您正在使用的库。在你的情况下,这将是jQuery。它使您编写与浏览器无关的Ajax代码变得更加简单。即使它存在,你甚至没有使用过它。 了解它,使用它。它不应该花费你一天的时间来完成它的所有文档,看看如何使用它以及为什么这样做是明智的。

<强> jQuery documentation