GWT + Phonegap跨域请求不工作



我在Phonegap 1.1.0上使用GWT 2.4(和JQueryMobile jquery.mobile-1.0rc1.min.js,但不是与调用相关的任何内容)进行HTTP请求时遇到了麻烦。我想做的是在另一台服务器上使用POST方法来接收内容并显示它。

在桌面上,它工作得很好(感谢反向代理配置)。在Phonegap上,我读到"跨域安全策略不影响Phonegap应用程序"。由于html文件是由webkit使用file://协议调用的,因此安全策略不适用。然而,似乎从来没有在电话上发出请求,因为响应是空的,状态码为0 -这是我在解决桌面跨域问题之前遇到的类似行为。

我正在使用GWT上的常规RequestBuilder来发送请求。你知道为什么会这样吗?Phonegap的所有权限都是活动的。

edit:这是我发送请求的Java代码,我省略了soap信封:

    RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,url);
    rb.setHeader("SOAPAction", "assertIdentityWithSimpleAuthentication");
    rb.setHeader("Content-type", "application/x-www-form-urlencoded");
    String envelope = "etc"; //this is my soap envelope, 
    try{
        rb.sendRequest(envelope, new RequestCallback() {
         public void onError(Request request, Throwable exception) {
             requestFailed(exception);
          }
         public void onResponseReceived(Request request, Response response) {
             if(response.getStatusCode() == 200){
                 String aid = Tools.parseMessage(response.getText(),"assertionId"); //this just parses the response in order to get the string I need
                 Window.alert("Sucess: "+ aid);
                 sendAssertionID(aid); //and sends it to another function
             }
             else setError(response);
          }
      });
      } 
        catch (RequestException ex) {
          requestFailed(ex);
      }         

检查您的url。你的代码在我的android设备上工作得很好,但由于代码为0的无效url而失败。

需要以http://或https://

开头。

相关内容

  • 没有找到相关文章

最新更新