Javascript 我一直收到这个错误,XML解析错误:语法错误,但网站仍然运行良好

Javascript 我一直收到这个错误,XML解析错误:语法错误,但网站仍然运行良好,javascript,jquery,ajax,xml,servlets,Javascript,Jquery,Ajax,Xml,Servlets,我是新开发网站。 我知道我必须在web.xml文件中映射servlet。 web.xml文件如下所示 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.co

我是新开发网站。 我知道我必须在web.xml文件中映射servlet。 web.xml文件如下所示

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <display-name>TestApp</display-name>
    <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>
     <welcome-file>index.jsp</welcome-file>
     <welcome-file>default.html</welcome-file>
     <welcome-file>default.htm</welcome-file>
     <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
     <servlet-name>Serve</servlet-name>
     <servlet-class>Serve</servlet-class>
    </servlet>
    <servlet-mapping>
     <servlet-name>Serve</servlet-name>
     <url-pattern>/TestApp</url-pattern>
    </servlet-mapping>
   </web-app>
问题是servlet仍然运行良好。警报(输出)按预期工作。请解释浏览器显示错误的原因,并告诉我解决方案


如果这是一个重复的问题,请提供原始问题的链接。

我最近遇到了同样的问题。jQuery似乎正确地处理了数据和数据类型,但实际上是Firefox返回了语法错误,这解释了为什么代码按预期执行,但仍然向控制台打印错误

如果您查看开发人员控制台,您可以看到Firefox正在将纯文本数据解释为另一种格式(可能是XML)。Firefox厌倦了将数据解析为XML,但不能,因为它不是有效的XML,这会导致“语法错误”被打印到控制台

为我解决此问题,需要编辑服务器,使其返回以下标题:

内容类型:“文本/普通”

这似乎只是Firefox的一个问题,Chrome没有遇到这个问题。这里有一个Firefox bug,它似乎触及了这个问题


Firefox 70中仍然存在问题,至少在从文件系统请求文件时是如此。不需要jquery,可以使用普通的
XMLHttpRequest
复制该行为。在
send
之前调用它的
overrideMimeType
方法为我解决了这个问题。对我来说,这是一个非常干净的解决方案。例如:

var xhr = new XMLHttpRequest();
xhr.open("GET", window.location, true);
xhr.overrideMimeType("text/html");
xhr.onreadystatechange = function()
{
    if (xhr.readyState == 4) alert(xhr.responseText);
}
xhr.send();

谢谢正如你所说,我真的在使用Firefox作为我的测试浏览器。再次感谢。您可能正在
文件中运行应用程序://
,因为这是ajax请求,所以可能会发生这种情况。如果您已经安装了nodejs,那么您可以安装服务器并查看控制台日志!干得好,谢谢。我一直在尝试(通过XHR)检索
.mjs
文件,Firefox莫名其妙地返回:
XML解析错误:语法错误
。这一行:
xhr.overrideMimeType('application/javascript')
var xhr = new XMLHttpRequest();
xhr.open("GET", window.location, true);
xhr.overrideMimeType("text/html");
xhr.onreadystatechange = function()
{
    if (xhr.readyState == 4) alert(xhr.responseText);
}
xhr.send();