2012-02-02 2 views
0

Я начинаю GWT. Я отлаживаю свою программу в режиме разработки GWT. URL-адрес: http://127.0.0.1:8888/Replayer.html?gwt.codesvr=127.0.0.1:9997.Как получить данные удаленного сервера в режиме разработки GWT?

Я хочу получить данные с существующего сервера, который предоставил данные в формате json. Мой код:

String url = "http://i.abc.com?sid=" + mSessionId + "&action=info"; 
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); 

    try { 
     Request request = builder.sendRequest(null, new RequestCallback() { 
      public void onError(Request request, Throwable exception) { 
       // Couldn't connect to server (could be timeout, SOP 
       // violation, etc.) 
       Window.alert("Get fudao info error"); 
       mPrepare = false; 
      } 

      @Override 
      public void onResponseReceived(Request request, Response response) { 
       GWT.log("statuscode:"+response.getStatusCode()); 
       if (200 == response.getStatusCode()) { 
        // Process the response in response.getText() 
        Window.alert(response.getText()); 
        mPrepare = true; 
       } else { 
        // Handle the error. Can get the status text from 
        // response.getStatusText() 
        Window.alert("Get fudao info wrong"); 
        mPrepare = false; 
       } 
      } 
     }); 
    } catch (RequestException e) { 
     // Couldn't connect to server 
    } 

При запуске приложения запрос провалился и его статус был «отменен». Является ли это причиной того, что я не могу запросить адрес удаленного сервера из localhost для ограничений SOP?

Как получить данные удаленного сервера в режиме разработки GWT?

+0

Вы хотите получать данные с удаленного сервера только в режиме разработки или вы хотите сделать это в процессе производства? – Peter

+1

Вы слышали о политике «того же происхождения»? Если нет, прочитайте это: http://en.wikipedia.org/wiki/Same_origin_policy – Renato

ответ

0

Обычно не удается получить данные с другого клиентского кода сервера GWT. Но ваш локальный сервер может служить прокси-сервером, например. вы отправляете запрос на ваш локальный сервер, он отправит запрос на удаленный сервер, чем получит ответ с удаленного сервера и передаст его клиенту кода GWT. Это в основном самое простое решение.

Смежные вопросы