2011-08-25 121 views
2

我想创建一个从服务器(servlet)获取数据的进度条。 所以我创建一个HTML文件和一个servlet至极创建JSON数据(静态测试目的) JQuery从servlet获取JSON

<script> 
    $(document).ready(function() { 
    $.getJSON("GetProgressEvent", function(data) {  
    $.each(data.ProgressEvents, function(){ 
    $("#progressbar").progressbar({ value: this.progress }); 
    $("#progressStatus").html(this.status); 
    }); 
    // setTimeout(arguments.callee, 500); 
    }); 
    }); 
    </script> 
</head> 
<body style="font-size:62.5%;"> 

<div id="progressbar"></div> 
<div id ="progressStatus"></div> 
</body> 
</html> 

的Servlet GetProgressEvent.java:我注意到

@Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws ServletException, IOException 
    { 
     resp.setContentType("application/json"); 
     resp.setCharacterEncoding("utf-8"); 
     PrintWriter out = resp.getWriter(); 
     out.println("{'ProgressEvents':[{'progress':" 
     + 10 
     + ",'status':'10%'},{'progress':" 
     + 20 
     + ",'status':'20%'},{'progress':" 
     + 30 
     + ",'status':'30%'}}]}"); 
     out.close(); 

    } 

与萤火虫servlet正常发送数据,发送的数据如下:

{'ProgressEvents':[{'progress':10,'status':'10%'},{'progress':20,'status':'20%'},{'progress':30,'status':'30%'}}]} 

但问题是循环从未执行,我不明白为什么。 我刚开始使用jQuery,我需要你的帮助,任何帮助apreciated 预先感谢您的帮助:)

回答

5

的问题是,'是不是你需要的双引号有效的JSON。

您可以验证json使用http://jsonlint.com/