내가 JSON 형식으로 엔도 몬도 (Endomondo)에서 데이터를 얻을하고자하는와 GWT 애플리케이션을하고 난 다음 IRL과를 얻을 수 있습니다GWT의 HTTP 요청 빌더 반환 빈 응답
http://api.mobile.endomondo.com/mobile/api/workout/list?authToken=XXXXXXXXXX
내가 같은 데이터를 얻을 것이다
{"data":[{"duration_sec":2710,"sport":0,"speed_kmh_avg":11.721935764889876,"device_workout_id":"6588152507813057122","feed_id":155634169,"sport2":0,"id":192960126,"altitude_m_max":227.3,"hydration":0.35771,"altitude_m_min":145.5,"has_playlist":false,"burgers_burned":1.075926,"start_time":"2013-05-21 18:57:04 UTC","calories":581,"speed_kmh_max":26.281,"distance_km":8.824012756347656,"has_points":true},]}
하지만 어떻게 든 GWT http 요청 작성자와 함께 이것을 호출하면 할 수 없습니다. 코드에서 무엇을 변경해야합니까?
String url = "http://api.mobile.endomondo.com/mobile/api/workout/list?authToken=XXXXXXXXXX";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
try {
Request myrequest = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// Couldn't connect to server (could be timeout, SOP violation, etc.)
}
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
trainingsJSON = JSONParser.parseStrict(response.getText());
trainingsString = response.getText();
Label l = new Label();
l.setText("200 erros status code JSON DATA from endomondo " + response.getText()) ;
RootPanel.get().add(l);
} else {
// Handle the error. Can get the status text from response.getStatusText()
Label l = new Label();
l.setText("JSON DATA from endomondo 3rror part " + response.getText()) ;
RootPanel.get().add(l);
}
}
});
} catch (RequestException e) {
// Couldn't connect to server
}
편집은
나는
builder.setHeader("Access-Control-Allow-Origin", "*");
하지만 행운과 함께 추가 노력했다.
참고 사항 : "현대적인 브라우저"는 Firefox, Chrome, Safari를 오랫동안 사용해 왔지만 Opera는 최근에 나온 것이지만 IE9- (IE10은 괜찮습니다)를 의미합니다. –
예, IE9는 '내'최신 브라우저 목록에 없습니다. 고마워요 토마스 –
나는 또한 "현대"여기에 수년 동안의 브라우저 (파이어 폭스 3.5, 사파리 4.0, 크롬 - 버전 4.0 이상, 안드로이드 2.1 이상)가 포함되어 있다고 지적하고 싶다. http://caniuse.com/cors –