【问题标题】:What would cause a request to be sent correctly in Chrome by GWT, but incorrectly in Safari and Firefox?什么会导致 GWT 在 Chrome 中正确发送请求,但在 Safari 和 Firefox 中却不正确?
【发布时间】:2010-11-20 00:56:49
【问题描述】:

我正在尝试提交一个请求,并且它在 Chrome 中得到了正确处理。一切正常,我可以继续完成工作流程。当我尝试使用 Firefox 或 Safari 发送请求时,问题就出现了。该请求根本没有正确通过。我试图找出错误可能发生的位置,但我似乎无法弄清楚是什么导致了这种不同的行为。

我通过 RequestBuilder 发送请求,它的代码与我在整个项目中用于所有表单的代码几乎相同。我的网络浏览器如下,我在 OS X 10.6.5 上: Chrome 9.0.587.0 开发版
Safari 5.0.2
火狐3.6.12

我还尝试过在 Firefox 中使用 Windows 7。有没有人遇到过这样的问题,如果有,你找到解决方法了吗?谢谢!

编辑:

RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "/deployments/" + createdProjectName + "/");
    builder.setHeader("Content-type", "application/x-www-form-urlencoded");

    try {
      Request request = builder.sendRequest(formBuilder.toString(), new RequestCallback() {
        public void onError(Request request, Throwable exception) {
            //I handle an error here
        }

        public void onResponseReceived(Request request, Response response) {
            if( response.getText().contains("Back to") ){
                //Successful handling here
            } else {
                //Handling more errors here
        }});
    } catch (RequestException e) {

    }

【问题讨论】:

  • 定义“提交请求”。你能显示一些代码吗?
  • 我正在发送一个 POST 请求。我已经在上面进行了更新以展示我是如何做到的。

标签: firefox forms gwt google-chrome safari


【解决方案1】:

找出问题所在!

后端拒绝处理请求,因为 GWT 决定为标头数据添加一个字符集,而我们没有检查该字符集,我们只是检查了内容类型。对后端的一行修复解决了我们所有的问题。

【讨论】:

    猜你喜欢
    • 2018-10-31
    • 2021-07-20
    • 1970-01-01
    • 2013-06-26
    • 2016-01-15
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2011-09-25
    相关资源
    最近更新 更多