在嘗試使用GWT應用程序進行跨域請求時在chrome上獲取此錯誤。使用GWT跨域請求
Origin http://127.0.0.1:8888 is not allowed by Access-Control-Allow-Origin.
我已經嘗試了下面的代碼發送GET請求。
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestCallback;
import com.google.gwt.http.client.RequestException;
import com.google.gwt.http.client.Response;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
public class Detracker implements EntryPoint {
public void onModuleLoad() {
doGet("http://www.google.com");
}
public static void doGet(String url) {
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
try {
builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// Code omitted for clarity
}
@Override
public void onResponseReceived(Request request,
Response response) {
final Label msgLabel = new Label();
msgLabel.setText(response.getText());
RootPanel.get("resultContainer").add(msgLabel);
}
});
} catch (RequestException e) {
// Code omitted for clarity
}
}
}
它是不允許的,不幸的是,由於安全限制 – dldnh 2012-03-03 16:51:50
沒有任何訣竅/黑客可用於此 – 2012-03-03 16:56:21
不是我所知道的。我們最終編寫了一個運行在我們GWT應用後端的小servlet或jsp,並充當代理的一部分。它運行的是真正的Java,所以它可以發出任何想要的請求,根據需要傳遞GET/POST參數,獲取響應,並將其發送回GWT客戶端。對不起,我不能分享代碼,但它屬於我的僱主。 – dldnh 2012-03-03 17:33:25