【问题标题】:Cannot load HTML partial with AJAX in android webview无法在 android webview 中使用 AJAX 加载 HTML 部分
【发布时间】:2016-04-01 23:42:30
【问题描述】:

我正在尝试在运行 Android webview 的“应用程序”中加载 HTML 部分。一切都是用 HTML、CSS 和 jQuery 制作的。

每次我的代码尝试加载 HTMl 部分时,它都会返回一个错误:

XMLHttpRequest 无法加载 file:///W:/smarthubwebapp/public_html/html/pageHtml/login.html。叉 原始请求仅支持协议方案:HTTP、数据、 chrome, chrome-extension, https, chrome-extension-resource.

我知道在这种情况下它是在 chrome 中加载的,而不是在我想最终使用的 Android webview 中。

我在项目本地文件中使用的所有文件,因此在 web 视图中使用“file:///”协议调用它们。如果我只是在浏览器中打开索引文件,它应该不起作用吗?我该如何解决这个问题?

我的 ajax 片段如下所示:

$.ajax({
    url: "html/pageHtml/" + pageToLoad + ".html",
    type: "GET",
    crossDomain: true,
    dataType: 'html',
    success: function (response) {
        $("#pageContainer").html("<div id='innerPageContainer'>" + response + "</div>");
    },
    error: function (xhr, status) {
        $("#pageContainer").html("<div id='innerPageContainer'>" + JSON.stringify(status) + "</div>");
    }
});

【问题讨论】:

    标签: javascript android jquery html ajax


    【解决方案1】:

    您在 Ajax 属性中将 crossDomain 属性设置为 true,因此出现错误。

    只需删除它。

    错误说明了一切,“文件”请求可以与跨域调用一起使用。

    【讨论】:

    • 我还在另一个脚本中发现了一个错误。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 2011-08-22
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多