2011-08-25 114 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/