【问题标题】:Getting error 412 when making a xml Ajax request发出 xml Ajax 请求时出现错误 412
【发布时间】:2012-03-03 05:13:21
【问题描述】:

我最近开始使用 JQTouch 制作基于 Web 的应用程序。在这个应用程序中,当按下一个按钮时,我会发出一个 ajax 请求,该请求从我的运行 Apache 的 Linux 服务器获取一个 xml 文件。当我通过 wifi 运行我的应用程序时,一切正常。当我超过 3g 并按下按钮时,它也会加载。但是当我返回并再次按下按钮时,我收到错误 412 的警报:前提条件失败。我在网上搜索了这个错误,发现我必须在我的服务器上禁用 mod_security,但这并不能解决错误:(

这是我的 ajax 请求:

$.ajax(
{
    type: "POST",
    cache: false,
    url: "http://draughtsonline.no-ip.org/ArtObject/catalogus/catalogus.xml",
    dataType: "xml",
    success: function(xml) 
    {
        // do stuff with the xml file
    },
    error: function(xhr, ajaxOptions, thrownError)
    {
        alert(xhr.status);
        alert(thrownError);
    },
    async: false
});

我真的不知道它有什么问题。谁能帮帮我?

提前致谢!

【问题讨论】:

  • 好吧,看来我通过将方法从 POST 更改为 GET 解决了这个问题。我使用 post 是因为我在使用 GET 时遇到了一些缓存问题;当我调整xml文件时,我使用GET时没有得到新的xml文件,而是旧的。我通过使用 cache: false 参数绕过了这个:) 也许有人可以告诉我为什么 POST 会给出这个错误?

标签: jquery xml ajax


【解决方案1】:

您不能使用 jQuery 跨域发布。这是 JavaScript 的一项安全功能。

另一种方法是使用 GET 和 JSONP 而不是 POST 和 XML,或者使用相对 URL。

更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 2023-03-10
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2011-01-10
    相关资源
    最近更新 更多