当前位置: 首页 > 面试题库 >

jQuery.ajax在服务器上给出“ TypeError:无法读取null的属性'documentElement'”,但不是本地的

盖昀
2023-03-14
问题内容

我的http://alpha.spherecat1.com/上的jQuery代码有问题,但是本地副本可以正常工作。如您所见,如果您现在访问该站点,那么ajax调用将产生以下错误:

“ TypeError:无法读取null的属性’documentElement’”

我已经检查并重新检查并重新上传了我能想到的所有内容。该文档说以确保我发送了正确的MIME类型,但是我没有用。这是令人反感的代码

function changePageAJAX(newPage, method)
{
    if (method != "replace")
    {
        window.location.hash = newPage;
    }
    newPage = newPage.substring(1); // Remove the hash symbol.
    title = "SphereCat1.com " " + fixCase(newPage.replace(/\//g, " > ")); // Set the window title.
    newPage = "ajax/" + newPage + ".html"; // Add path.
    if (newPage == currentPage)
    {
        return; // Don't let them load the current page again.
    }
    $.ajax({ // jQuery makes me feel like a code ninja.
        url: newPage,
        dataType: "xml",
        success: function(data, status, xmlhttp){ renderPage(xmlhttp); },
        error: function(xmlhttp, status, error){ alert(error); renderPage(xmlhttp); }
    });
    document.title = title;
    currentPage = newPage;
}

然后继续将页面渲染为div。它抓取的页面在上一个URL的/ ajax文件夹中可见。您能提供的任何帮助将不胜感激!


问题答案:

从ajax调用抛出错误:

error: function(xmlhttp, status, error)...

由于您期望使用XML数据类型,因此对“ ajax / home.html” URL的调用将返回哑剧类型“ text /
html”。您可能希望完全省略dataType,以便jQuery进行智能猜测。例如:

$.ajax({ // jQuery makes me feel like a code ninja.
  url: newPage,
  success: function(data, status, xmlhttp){ renderPage(xmlhttp); },
  error: function(xmlhttp, status, error){ alert(error); renderPage(xmlhttp); }
});

您也有以下alert()appendCSS,我认为是用于调试?:

function appendCSS(filename)
{
    alert(filename);
    if (filename != null)
    {
        $("head").append("<link rel='stylesheet' id='extracss' href='"+filename+"' type='text/css' />");
    }
}


 类似资料:
  • 我收到以下JavaScript错误: TypeError:无法读取null的属性“title” 代码如下: mds-iMac: cmscart imac$nodemo app[nodemo] 1.11.0[nodemo]随时重启,输入[nodemo]观看:.[nodemo]启动(node: 2274)DeprecationWarning:在猫鼬中被弃用 [nodemon]应用程序崩溃-正在等待文件

  • 问题内容: 我收到以下错误 未捕获的TypeError:无法读取null的属性’appendChild’ myRequest.onreadystatechange @ script.js:20 与我下面的代码 这是我的JavaScript文件 这是内容 这是一个简单文本文件的内容。 我在这里按照@Tejs的建议将脚本标签放在html的底部,但仍然出现此错误。 问题答案: 执行回调时,页面上没有ID

  • 我的要求是我有一个带有注册信息的jsp页面。它将提交控制器中的所有值,并返回相同的“ignup.jsp”。直到这是工作。现在的要求是,一旦它回到同一个页面,我在从控制器重定向时设置了一个参数。在Jsp中,参数得到验证,如果参数来自匹配的控制器,那么一个“td”将是可见的,当我第一次将Jsp发送到控制器时,它不应该是可见的。 下面是WebContent中的代码“signup.jsp”- 我看到了一些

  • 问题内容: 我是ReactJS的新手,遇到一些问题。 我还了解了语法,它说以下代码具有相同的含义。 1。 2。 但是,第一种方法引发此错误 问题答案: YTSearch({key: API_KEY, term: ‘nba’}, function(videos) { this.setState({ videos }); }); 引发错误,因为在此回调内部并未引用函数本身的上下文,因此此处未定义。 在

  • 所以当我点击我的汉堡时,我得到了上面提到的这个错误。点击汉堡包后,我的整个页面变成白色,当我右键点击时,什么也不会出现。这里的问题出在哪里,我在网上搜了很多类似的问题。这里只讨论了将script标记放在底部并编写window.onload函数。我已经把script标记放在了正文的底部,但这仍然在发生。错误消息:事件处理程序中出错:TypeError:无法在Jr(chrome-extension:/

  • React-Native: 0.57.1 react-nady-cli: 2.0.1节点: v8.11.3 npm: 5.6.0 巴别塔版本详情: “devDependencies”:“@babel/runtime”:“^7.0.0”,“babel jest”:“20.0.3”,“babel preset react native”:“^2.1.0”,“jest”:“20.0.4”,“react