我在使用.load jQuery函数时遇到了困难,这非常令人沮丧,因为它似乎应该可以工作。我试图将html内容加载到div中。当url参数设置为我的服务器上存在的文件时,它工作正常,这意味着div加载了内容。 但是,如果我故意将url参数设置为我的服务器上不存在的文件,如下所示,它仍会以“已成功加载的内容”的形式返回'。
$(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')
}
});
});
我搜索了Stack Exchange这个问题,但找不到任何其他完全相关的帖子。我想知道为什么这不能进一步理解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)
}
});
});
答案 0 :(得分:0)
嗯,我认为我发现了这个问题,但解决方案带来了更大的问题。我的网站托管在我自己的个人网络服务器上,该服务器使用最新版本的Ubuntu进行LAMP堆栈。在我的网站根文件夹中,我有一个.htacces文件,其中包含一个重定向规则,该文件将对不存在的文件的请求发送回index.php。我禁用了.htacess文件,确定代码开始返回'错误'尝试加载我的服务器上不存在的文件时。所以,不知道接下来要做什么,但想发布以防其他人遇到过这种行为,并有任何建议。这是我的.htaccess文件的内容:
RewriteEngine On
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-l
RewriteRule ^(。*)$ index.php?url = $ 1