JQuery Load回调函数总是返回'成功'

时间:2017-10-20 22:49:18

标签: javascript jquery

我在使用.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)
            }
    });

});

1 个答案:

答案 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