使用web服务与ajax的phonegap

时间:2012-08-02 18:54:18

标签: ajax web-services cordova

我正在使用ajax来使用我的web服务。这是我的code.js:

//button
$('#my_btn').live('click touchstart', function() {
   GetData();
});

function GetData() {    
    $.ajax({
        type: "POST",
        url: "http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws?op=consultarDados",
        //url: "http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws/consultarDados",
        //data: {},
        //contentType: "application/json; charset=utf-8",
        dataType: "json",
        beforeSend : function(jqXHR, settings) {
        alert("1)\njqXHR= " + jqXHR + "\njqXHR.status= " + jqXHR.status + "\njqXHR.readyState= " + jqXHR.readyState + "\nsettings= " + settings);
        },
        success: function(msg) {
           alert("2)\n" + msg);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert("3)\njqXHR= " + jqXHR + "\ntextStatus= " + textStatus + "\nerrorThrown= " + errorThrown + "\njqXHR.status= " + jqXHR.status + "\njqXHR.readyState= " + jqXHR.readyState);
        },
        complete : function(jqXHR, textStatus) {
            alert("4)\njqXHR= " + jqXHR + "\ntextStatus= " + textStatus + "\njqXHR.status= " + jqXHR.status + "\njqXHR.readyState= " + jqXHR.readyState);
        }

    });

}

和我的index.html:

<html>
  <head>
    <meta charset="utf-8" />

    <link rel="stylesheet" type="text/css" href="css/style.css" />        

    <script type="text/javascript" src="plugin/jquery-1.7.2.js" ></script>        
    <script type="text/javascript" charset="utf-8" src="plugin/cordova-1.8.0.js"></script>

  </head>

  <body>

    <div id="my_btn"></div>  

  </body>
</html>

当我跑步时,我只是'错误!'

任何人都知道如何使用ajax来使用phonegap来使用web服务吗?

我知道它可能,但我不知道该怎么做! = /

phonegap常见问题解答:

  

Q值。我想创建一个外部访问的phonegap应用程序   通过AJAX部署Web服务。我怎样才能解决这个问题   XmlHttpRequest的跨域安全策略?

     

一个。跨域安全策略不会影响PhoneGap   应用。由于html文件是由webkit调用的   file:// protocol,安全策略不适用。 (在Android中,你   通过编辑可以将android.permission.INTERNET授予您的应用程序   的AndroidManifest.xml)

错误打印:https://lh3.googleusercontent.com/CJZg3rn3FDKEWHDfrwzRaMbwwQCTg7vYm_5mSba6r006L6eTcbhvRKZyPWNbRsrMaRtDGv-IESw

1 个答案:

答案 0 :(得分:0)

首先,您的网址似乎有误。将它粘贴到浏览器中会让我:

  

404在此服务器上找不到请求的URL /safefrigorifico/services/ServicoConsulta.jws/consultarDados。

修复后,您可以尝试使用GET,因为您没有发布任何数据并删除contentType。此外,jQuery有.getJSON(),这进一步简化了这一点。

移除:

data: {},
contentType: "application/json; charset=utf-8",

更改:

type: "GET",

或尝试:

var jqxhr = $.getJSON( 'http://www.safetrace.com.br/safefrigorifico/services/ServicoConsulta.jws/consultarDados', 
    function() { alert( 'success' ); } )
    .error( function() { alert( 'error' ); } );