Я создал очень простой сервлет, который использует метод HTTP Post. Я протестировал его на локальном сервере Apache Tomcat, используя простую HTML-форму, которая работает. Я хочу интегрировать его с моим приложением GWT. Я могу назвать его с помощью FormPanel - в этом случае он загружает контент, и в моем окне браузера появляется мерцание.GWT RequestBuilder Post Response return 0 StatusCode
Я знаю, что мне нужно использовать RequestBuilder для доступа к нему. Но мой response.getStatusCode() в моей перегруженной общественной пустоте onResponseReceived (Request запрос, ответ Response) метод всегда возвращает статус 0 и response.getText() возвращают нулевое
String url = "http://localhost:8080/servlets/servlet/ShapeColor";
builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));
try {
String json = getJSONString();
//builder.setTimeoutMillis(10000);
builder.setHeader("Access-Control-Allow-Origin", "*");
builder.setHeader("Content-type", "application/x-www-form-urlencoded");
builder.sendRequest(json, new RequestCallback() {
@Override
public void onError(Request request, Throwable exception) {
Window.alert("Couldn't retrieve JSON");
}
@Override
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
System.out.println("res:"+response.getText());
} else {
System.out.println("err: " + response.getStatusCode()+","+response.getText());
}
}
});
//Request response = builder.send();
} catch (RequestException e) {
// TODO Auto-generated catch block
}
Я пробовал многие вещи, включая изменение моего сервлета (https://code.google.com/p/gwtquery/wiki/Ajax#CORS_%28Cross_Origin_Resource_Sharing%29)
Он всегда работает в браузере, используя мой test.html, но не из моего приложения. Хотя, onResponseReceived метод всегда вызывается
Спасибо
КОГО