代码之家  ›  专栏  ›  技术社区  ›  Omar Estrella

什么会导致GWT在Chrome中正确地发送请求,而在Safari和Firefox中错误地发送请求?

  •  0
  • Omar Estrella  · 技术社区  · 15 年前

    我试图提交一个请求,它是正确的处理铬。一切正常,我可以继续工作流程。当我尝试使用Firefox或Safari发送请求时,问题就出现了。这个请求根本没有得到正确的处理。我试图找出错误可能发生的地方,但我似乎无法找出是什么导致了这种不同的行为。

    我通过一个RequestBuilder发送请求,它的代码与我在整个项目中为所有表单使用的代码几乎相同。我的网络浏览器如下所示,并且Im处于打开状态 苹果操作系统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) {
    
        }
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Omar Estrella    15 年前

    找到问题了!

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

    推荐文章