Как получить действительный ответ от веб-службы php на GWT - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь получить данные из веб-службы php (которую я поместил на свой локальный хост - протестировано и работает нормально) на стороне клиента моего приложения GWT.

Я пыталсяиспользуйте следующий пакет com.google.gwt.http.client.*, похоже, код работает нормально, но ответ всегда равен 0, весьма вероятно, что это будет проблема corss, но я до сих пор не могу понять, как ее решить, хотя я пытался использовать requestBuilder.setHeader(..);

вот код, над которым я работаю:

    String url = "http://localhost/geoTrackerTest.php?id=15";
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));

    requestBuilder.setHeader("Access-Control-Allow-Origin", "http://localhost");
    requestBuilder.setHeader("Access-Control-Allow-Methods", "POST, GET, UPDATE, OPTIONS");
    requestBuilder.setHeader("Access-Control-Allow-Headers", "x-http-method-override");

    try {
        Request request = requestBuilder.sendRequest(null, new RequestCallback() {
          public void onError(Request request, Throwable exception) {
             GWT.log("Error: "+exception.getMessage());
          }

          public void onResponseReceived(Request request, Response response) {

            if (200 == response.getStatusCode()) {
                GWT.log("response: "+response.getText());
            } else {
                GWT.log("response code: "+response.getStatusCode());
            }

          }
      });
    } catch (RequestException e) {
      GWT.log("Request Exception: "+e.getMessage());
    }

Я все еще получаю 0 в качестве ответа.

1 Ответ

0 голосов
/ 27 мая 2019

Вам потребуется установить заголовок в ответе со стороны сервера (не со стороны клиента GWT), затем вы можете выполнять межсайтовые запросы из GWT RequestBuilder.Примерно так на стороне сервера:

Response.setHeader("Access-Control-Allow-Origin","http://localhost");

Если вам нужно только отправлять GET-запросы, вы можете использовать вместо этого JSONP (http://www.gwtproject.org/javadoc/latest/com/google/gwt/jsonp/client/JsonpRequestBuilder.html)) для отправки междоменных запросов без установки заголовков на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...