0

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

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

索引.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

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

如何将 jQuery Post 与 PhoneGap 和 webworks 一起使用?相同的代码适用于 Android。谢谢。

4

1 回答 1

0

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

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

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

于 2012-07-26T17:12:56.100 回答