JQuery加载回调函数总是返回'成功'
我有困难与.load jQuery函数,这是非常令人沮丧,因为它似乎应该工作。我正在尝试将html内容加载到div中。当url参数设置为存在于我的服务器上的文件时,它工作正常,这意味着div加载了内容。 但是,如果我有意将url参数设置为我的服务器上不存在的文件,如下所示,它仍会以“内容加载成功”的形式返回。JQuery加载回调函数总是返回'成功'
$(document).ready(function()
{
var divaboutMe = $('#aboutMe');
var url = "dave.txt";
divaboutMe.load(url, function (responseText, statusText, xhr)
{
if (statusText == "error")
{
alert('Error Loading Content')
}
else
{
alert('Content Loaded Successfully')
}
});
});
我搜索了堆栈交换这个问题,但找不到任何其他职位是完全相关的。我想知道为什么这不起作用来进一步理解jQuery/Javascript。
编辑#1: 建议我修改了我的代码来显示statusText的实际值,并在奇想上添加了xhr.StatusText的警报,尽管我并不真正知道它会做什么。我还删除了'divaboutMe'变量,并使用jQuery id选择器。这些更新后,我仍然得到相同的结果,这是相当令人生气。我在很多网站和几本自己的书中看到过这些代码,所以我不知道可能会出现什么错误。
下面是更新后的代码:
$(document).ready(function()
{
var url = "8";
$('#aboutMe').load(url, function (responseText, statusText, xhr)
{
alert('statusText: ' + xhr.statusText)
if (statusText === "error")
{
alert('Error Loading Content:' + statusText)
}
else
{
alert('Content Loaded Successfully:' + statusText)
}
});
});
嗯,我想我找到了问题,但解决方案带来了一个更大的问题。我的网站托管在我自己的个人网络服务器上,该服务器具有使用最新版本的Ubuntu的LAMP堆栈。在我的网站的根文件夹中,我有一个.htacces文件,其中包含一个重定向规则,用于将不存在的文件的请求发送回index.php。我禁用了.htacess文件,并确信代码在尝试加载我的服务器上不存在的文件时开始返回“错误”。所以,不知道下一步该做什么,但想要发布,以防其他人遇到这种类型的行为,并有任何建议。这里是我的.htaccess文件的内容:!
RewriteEngine叙述在
的RewriteCond%{} REQUEST_FILENAME -d
的RewriteCond%{} REQUEST_FILENAME -f
的RewriteCond%{REQUEST_FILENAME }!-l
重写规则^(。*)$的index.php?URL = $ 1
为我回来“加载内容时出错”。 – Keith
当你将它指向一个不存在的文件时,“statusText”是什么?这可能是Keith说的另一个错误消息,它不等于“错误”,因此您的else子句被触发。 –
你好,statusText总是返回'成功'。 –