【发布时间】: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 会给出这个错误?