GWT RequestBuilder POST JSON应用程序/ json

时间:2011-06-21 14:53:16

标签: json gwt post

我正在尝试将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 Monitor中看到我的JSON数据不会在请求中作为帖子传输。如果我要求

builder.getRequestData();

我可以看到JSON数据就在那里。

数据进入服务器需要什么?

2 个答案:

答案 0 :(得分:3)

如果您尝试连接的网址与GWT nocache.js文件的源不同,则可能会遇到浏览器的same-origin policy。你的回叫号码是onFailure()吗?另外,看看Request.getSatusCode()是否返回0,这表示SOP问题。

答案 1 :(得分:0)

要简单地使用HTTP post发布JSON数据,您可以使用GWT Overlay Types使用JQuery定义post方法。可能的快照:

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

我不知道是否有必要在您的HTML中添加JQuery。我做了,并且工作了。您可以通过在.html文件中添加以下行来执行此操作:

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

然后,您只需在java代码中调用该方法:

post(json);

(: