Приложение GWT RequestBuilder POST JSON / JSON - PullRequest
3 голосов
/ 21 июня 2011

Я пытаюсь отправить данные JSON на сервер.

RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
builder.setHeader("Content-Type", "application/json");
builder.setRequestData(getJSONString());
builder.setCallback(myCallbackObject);
builder.send();

Я делаю это в eclipse, и в мониторе TCP / IP я увидел, что мои данные JSON не передаются в виде сообщения в запросе.Если я попрошу

builder.getRequestData();

, я увижу, что данные JSON прямо здесь.

Что мне нужно для передачи данных на сервер?

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

Возможно, вы используете в браузере политику того же источника , если URL, к которому вы пытаетесь подключиться, не из того же источника, что и ваш файл GWT nocache.js. Ваш обратный вызов onFailure() вызывается? Также проверьте, возвращает ли Request.getSatusCode() значение 0, что указывает на проблемы с SOP.

0 голосов
/ 15 июля 2014

Чтобы просто опубликовать данные JSON с HTTP-публикацией, вы можете использовать GWT Overlay Types для определения метода публикации с использованием JQuery.Возможный снимок:

public static native void post(String json) /*-{
    var data = JSON.parse(json);
    $wnd.$.post(url, data);
}-*/;

Я не знаю, нужно ли добавлять JQuery в ваш HTML.Я сделал, и работал.Вы можете сделать это, добавив следующую строку в ваш файл .html:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Затем вы можете просто вызвать этот метод в своем коде Java:

post(json);

(:

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