1

私の D3 コードには、単純なツリー構造の情報があります。D3 スクリプトはスクリプト d3.json() 関数から json を呼び出しており、結果の json はツリー構造データを提供しています。これで、データベースから取得され、サーブレットにヒットする情報がいくつかあります。ユーザーの応答に応じて変更できるように、サーブレットでjsonを動的に作成する必要があります。使用したスクリプトとjsonは次のとおりです..

これは、サーブレットへの Ajax 呼び出しを行った HTML ファイルです。Ajax はサーブレットを呼び出していますが、応答を返す際にエラーが発生しました。「エラーが発生しました」というメッセージが表示されます。サーブレットを実行していると……

 <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>            
        function doajax(){
            $.ajax({
                url: "AccountServlet",
                type: "post",
                dataType: "json",

                error:function(){
                    alert("error occured!!!");
                },
                success:function(data){
                    alert(data.fullName + "\n" + data.mobileNo);
                }
            });
        }
    </script>

これは、このファイルがサーブレットを呼び出すだけの応答を取得しようとしているところからのHtmlです。しかし、応答でエラー発生メッセージが表示されます...

accountServlet で、このようなjsonを作成しています

     ArrayList<DistinctSourceCount> countList = new ArrayList<DistinctSourceCount>();
        countList.add(new DistinctSourceCount("Jan", 1800));
        countList.add(new DistinctSourceCount("Feb", 1500));
        countList.add(new DistinctSourceCount("March", 2000));
        countList.add(new DistinctSourceCount("April", 1550));
        countList.add(new DistinctSourceCount("May", 1000));
        countList.add(new DistinctSourceCount("June", 1700));
        countList.add(new DistinctSourceCount("July", 1400));
        countList.add(new DistinctSourceCount("Aug", 1900));
        countList.add(new DistinctSourceCount("Sept", 1000));
        countList.add(new DistinctSourceCount("Oct", 1500));
        countList.add(new DistinctSourceCount("Nov", 1100));
        countList.add(new DistinctSourceCount("Dec", 2000));

        Gson gson = new Gson();
        JsonArray arrayObj = new JsonArray();
        for (int i = 0; i < countList.size(); i++) {
            DistinctSourceCount count = countList.get(i);
            JsonElement linObj = gson.toJsonTree(count);
            arrayObj.add(linObj);
        }

        JsonObject myObj = new JsonObject();
        myObj.addProperty("success", true);
        myObj.add("topList", arrayObj);
        myObj.addProperty("totalCount", countList.size());

        System.out.println(myObj.toString());
        System.out.close();

これは私がこれまでに行ったコードです。サーブレットでjsonオブジェクトを作成し、スクリプトから応答を取得する方法について誰か助けてもらえますか??誰か助けてください

4

1 に答える 1