我正在尝试将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数据就在那里。
数据进入服务器需要什么?
答案 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);
(: