2
哦你好,各位SO成員,GET請求使用GWT檢索XML數據?
我有使用是這樣一個簡單的GET請求返回XML數據的Web服務:
http://my-service:8082/qc/getData?paramX=0169¶mY=2
服務頁面返回原始XML根據參數的值。
我想從使用RequestBuilder,Request等的GWT中的GET請求中檢索這個數據。 但是,響應給了我空的文本,一個ZERO狀態碼(這不代表什麼,也不是應該發生)等等。
下面是不起作用的簡化代碼。
public class SimpleXML implements EntryPoint {
public void onModuleLoad() {
this.doGet("http://my-service:8082/qc/getData", "0169", "2");
}
public void doGet(String serviceURL, String paramX, String paramY) {
final String getUrl = serviceURL + "?paramX=" + paramX + "&idTarification=" + paramY;
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, getUrl);
try {
Request response = builder.sendRequest(null, new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
response.getStatusCode(); // Gives me 0 (zero) :(
}
@Override
public void onError(Request request, Throwable exception) {
// ... doesn't matter for this example
}
});
} catch (RequestException e) {
// ... doesn't matter for this example
}
}
}
我不明白爲什麼這是行不通的,因爲這是非常簡單的,我見過的教程,他們都告訴我的處事這樣..
在此先感謝
那麼,如果收到的數據是XML格式,我還可以使用JSON P來製作這個跨站點請求嗎? 是否有其他解決方法(使用AJAX以外的其他方法?) – dominicbri7 2011-06-16 18:33:18
另外,我看不到這是一個AJAX調用,是不是一個簡單的HttpRequest(GET)? – dominicbri7 2011-06-16 18:50:20
@dominic:從純粹的HTTP角度來看,這只是另一個GET請求。但從瀏覽器的角度來看,這是一個AJAX(XHR)請求。 /您可以使用JSONP傳輸XML - 只需將XML放入JSON字符串中(確保使用正確的轉義!)。 – 2011-06-16 19:25:30