localhost で (デバッガーから) Analytics アプリを実行すると、完全に読み込まれます。ただし、サーバーにアップロードすると、GET 要求がキャンセルされます。
これは、ネットワーク応答のスクリーン ショットです。
これをどのように修正することをお勧めしますか?
サーバーからの応答コードは次のとおりです
/**
* Sends a JSON response for an object (200)
* @param objectToEncode
* @throws Exception
*/
private void sendJSONResponse(Object objectToEncode, Request baseRequest, HttpServletResponse response) throws Exception{
//Encode object into JSON
String jsonString = new Gson().toJson(objectToEncode);
byte[] utf8JsonString = jsonString.getBytes("UTF8");
response.setContentLength(utf8JsonString.length);
response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/x-json;charset=UTF-8");
response.setStatus(200);
try {
//Actually send the response
response.getWriter().write(jsonString);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
Javascript リクエスト:
/*
Draws the chart for average session length by day
*/
function drawUsersGender() {
//Apit to get the data from
var api = GET_USERS_SEX;
//Request data (using jquery/ajax)
$.getJSON(api,function(data){
//Start a days and seconds array
var result = [['gender', 'number']];
//Iterate over the genders
for (var gender in data){
//Get the value pair and push
var entry = [gender, parseInt(data[gender])];
result.push(entry);
}
//Parse to google data
var data = google.visualization.arrayToDataTable(result);
//Display options
var options = {
title:'Gender for registered users',
'width':600,
'height':400
};
//Draw the chart
var chart = new google.visualization.PieChart(document.getElementById('genderChart'));
chart.draw(data, options);
});
}