GWT&x2B;Phonegap跨域请求不工作

GWT&x2B;Phonegap跨域请求不工作,gwt,cordova,xmlhttprequest,cross-domain,Gwt,Cordova,Xmlhttprequest,Cross Domain,我在Phonegap 1.1.0上使用GWT 2.4(和JQueryMobile jquery.mobile-1.0rc1.min.js,但与调用无关)发出HTTP请求时遇到问题。我想做的是在另一台服务器上使用POST方法来接收内容并显示它 在桌面上,它工作正常(多亏了反向代理配置)。在Phonegap上,我读到了。然而,似乎从来没有在电话上发出请求,因为响应为空,状态代码为0——这与我在桌面上解决跨域问题之前所经历的行为类似 我正在使用GWT上的常规RequestBuilder发送请求。你知道

我在Phonegap 1.1.0上使用GWT 2.4(和JQueryMobile jquery.mobile-1.0rc1.min.js,但与调用无关)发出HTTP请求时遇到问题。我想做的是在另一台服务器上使用POST方法来接收内容并显示它

在桌面上,它工作正常(多亏了反向代理配置)。在Phonegap上,我读到了。然而,似乎从来没有在电话上发出请求,因为响应为空,状态代码为0——这与我在桌面上解决跨域问题之前所经历的行为类似

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

编辑:这是我发送请求的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);
      }         

检查你的网址。您的代码在我的android设备上运行良好,但由于代码为0的无效url而失败


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

开始,我在很多应用程序中使用,但与Requestbuilder没有任何问题。您可以发布一些代码吗?谢谢您的回复,Daniel,我用代码更新了我的问题。我现在没有使用GWT Phonegap,我只是在我的Phonegap项目中使用导出的GWT材料。对不起,我忘了问你运行的是哪个平台:android、ios。。。。还有一件事需要注意的是,你加载了一个本地index.html文件?我在Android上,是的,Phonegap加载了一个本地html文件。这在我的Android设备上运行得非常好,但是如果我对url做了一些可疑的事情,我也会了解到你的行为。我的url以http://开头,是我网络上的一个服务器,所以我认为这不是问题。好的,这并不完全是问题所在,但你的回答帮助我做到了:)问题在于,由于某种原因,Android系统无法识别我的服务器名称。在您回答之后,我记得检查emulator和我的终端是否可以在浏览器上访问服务器,但它没有!使用本地IP而不是URL解决了这个问题。非常感谢你,如果你不提到网址,我肯定还是会被卡住!