1

我在使用带有 Apache Cordova 3.0 的 Windows Phone 8 进行页面导航时遇到了一些问题。
我尝试了不同的方法来解决这个问题,但它仍然不起作用。

起初我尝试使用表单导航到另一个页面。

<form action="CreateUser.html" method="get">
        <input class="buttons"  name="btnCreateUser" type="submit" value="Create User" />
</form>

当我单击按钮时,找不到该页面。CreateUser.html 页面位于同一目录中。如果我使用浏览器(Chrome/IE)它可以工作。

当我将操作更改为http://www.google.com时,两个选项(浏览器和电话)都可以工作。

我还尝试使用 JavaScript 导航到另一个页面。这是我的代码:

function get(httpUrl) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", httpUrl, true);
    xmlHttp.send(null);
    return xmlHttp.responseText;
}

现在我使用按钮的 onclick="get("CreateUser")" 事件但没有反应。在浏览器和移动设备上。

唯一对我有用的是 window.location 功能。但似乎我无法用这种方式转换下一页上的信息。

是否有机会在这两个页面之间导航并传输一些信息?
还是我的代码有问题?

4

1 回答 1

1

“CreateUser.html 页面”如果我是正确的,您正在使用 AJAX 读取文件(页面)内容并将它们粘贴到 HTML 中?

如果是,请阅读以下内容:

2.1。跨域问题

在发出 AJAX 请求之前,您必须允许跨域请求和核心支持,方法是设置:

jQuery.support.cors = true;
$.mobile.allowCrossDomainPages = true;

这些必须在特定的phonegap函数“DeviceReady”中设置,例如:

document.addEventListener('deviceready', function () {
            jQuery.support.cors = true;
            $.mobile.allowCrossDomainPages = true;
            $.ajax({
                url: "www/about.txt",
                dataType: 'text'
            }).done(function (result) {
                    alert(result);
                });
            });

2.2. 网址

制作面向 Windows Phone 8 的应用程序,在 AJAX 请求中您必须指定资源的完整路径,例如:url:“www/about.txt”,

制作面向 Windows Phone 8 的应用程序,在 AJAX 请求中,您不得指定资源的完整路径,例如:url:“about.txt”,

2.3. 源文件扩展名

小心使用未知扩展文件,如模板扩展 *.tpl 或类似文件。有时 AJAX 不喜欢它们,我建议使用简单的 *.txt 和 *.html 扩展名。

于 2013-08-02T13:23:39.400 回答