使用jquery $ .post和phoneGap的Webworks

时间:2012-07-22 16:31:46

标签: jquery cordova blackberry-webworks

在使用webworks,jquery版本1.6.4和PhoneGap开发的应用程序中,我无法使用$ .post。 在其他类似的问题中使用Ajax解决,但不是我的情况。

他添加了部分代码以尝试找到解决方案:

Index.html

<!DOCTYPE HTML>
<html>
<head>
<title>Prueba</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/estilo.css" />
<link rel="stylesheet" type="text/css" href="css/sunny/jquery-ui-1.8.21.custom.css" />
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/cordova-1.9.0.js"></script>
<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.21.custom.min.js"></script>
<script type="text/javascript">
    // process the confirmation dialog result
    function onConfirmaSalir(button) {
        if (button == 2) {
            // si
            navigator.app.exitApp();
        }
    }

    // Show a custom confirmation dialog
    //
    function showConfirm() {
        navigator.notification.confirm(
            'Desea abandonar la aplicaci�n?',  // message
            onConfirmaSalir, // callback to invoke with index of button pressed
            'Salir',         // title
            'No,Si'          // buttonLabels
        );
    }

    // Handle the back button
    function onBackKeyDown() {
       showConfirm();
    } 

    // alert dialog dismissed
    function alertConexion() {
        // do something
    }

    function showErrorConexion() {
        navigator.notification.alert(
            'Sin conexion, intente nuevamente',  // message
            alertConexion,         // callback
            'Error',            // title
            'Ok'                  // buttonName
        );
    }

    function checkConnection() {
            var networkState = navigator.network.connection.type;
            if (networkState == Connection.NONE) {
                return false;
            } else {
                return true;
            }
    }

    function cargarTabla(inicio) {
        $.post("http://sitio.com/", 
                { 
                },
                function(datos) {
                    $('#tabla').html('<article>'+datos+'</article>');
                }
        );
    }

     // PhoneGap is ready
    function onDeviceReady() {
        document.addEventListener("backbutton", onBackKeyDown, false);

        if (checkConnection()) {
            cargarTabla(1);
        } else {
            showErrorConexion();
        }
    }

    // phonegap
    function onBodyLoad()
    {
        // Wait for PhoneGap to load
        document.addEventListener("deviceready", onDeviceReady, false);
    } 
</script>
</head>
<body onload="onBodyLoad();">

<header>
        <h1>Prueba</h1>
</header>
<section>
    <article>
        <p>Hola!</p>
    </article>
</section>
<section id="tabla">
    <article>
            <p>Cargando...</p>
    </article>
</section>
</body>
</html>

我生成一个压缩文件,其中包含:css,ext(包含.jar codova),img,config.xml,index.html,plugins.xml。

包装: bbwp path_zip -o path_out

生成文件OK但在运行时,不会更改html中“tabla”部分的内容。

如何在PhoneGap和webworks中使用jQuery Post?相同的代码适用于Android。 感谢。

1 个答案:

答案 0 :(得分:0)

您可能没有在配置文件中指定该元素来访问外部资源。

在config.xml文件中包含以下内容:<access uri="http://sitio.com" subdomains="true"/>

有关详细信息,请查看访问元素文档:https://developer.blackberry.com/html5/documentation/access_element_834677_11.html