私が達成しようとしているのは、GoogleのグラフAPIを使用してテーブルをグラフ化することです。ページが読み込まれると、RESTサーバーにJSONデータを照会します。これは私のJavascript関数です。
JavaScriptコンソールはエラーを表示しません。
$(document).ready(function() {
$.ajax({
url: 'http://localhost:8004/project5',
dataType: "json",
async:false,
error: function(error){
console.debug(error);
},
success: function(data)
{
alert("YESSSSS");
var data = data.results;
for(var i=0; i<data.length; i++) {
mytable[arraysize] = new terms(data[i].term1, data[i].term2, (data[i].contains)/((data[i].contains)+ (data[i].notcontains)));
arraysize +=1;
}
drawTable();
}
});
});
これは、「 http:// localhost:8004/project5」を使用してブラウザでサーバーにクエリを実行したときに返されるJSONです。
{
"results":[
{
"term1":"test",
"term2":"hard",
"contains":"32",
"notcontains":"55"
},
{
"term1":"test",
"term2":"easy",
"contains":"32",
"notcontains":"55"
},
{
"term1":"pizza",
"term2":"hut",
"contains":"32",
"notcontains":"55"
}
]
}
コンテンツのhtmlコンテンツが、関数が成功したかどうかをテストするために使用していた「YESSSS」に設定されていません。ページが読み込まれると、RESTサーバーはクエリが実行されたことを認識し、JSONを正常に返します。したがって、問題は返されたJSONからデータを取得することだと思います。それは私が立ち往生しているところです。
編集:私の成功関数が呼び出されていないようです。これは、JavaRESTサーバーであるJAX-RSで呼び出される関数です。JSONを生成します。
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getStudentByid(@QueryParam("id") String id) {
System.out.println("Queried");
if (id == null)
return Terms.stringTerms(container);
return Terms.getTermsByFirst(container, id);
}
XMLHttpRequest cannot load http://localhost:8004/project5/terms.json. Origin null is not allowed by Access-Control-Allow-Origin.
エラーが発生しました