XML解析错误:找不到根元素在控制台FF

时间:2017-09-29 10:47:06

标签: javascript jquery xml asp.net-mvc

我使用的是ASP.NET MVC,我只在FF中使用此错误。为什么我会收到此错误消息?这是什么原因? 我不明白这个错误的来源。有人有什么想法吗?

enter image description here

下一个错误: enter image description here

9 个答案:

答案 0 :(得分:24)

检查此link以获取更多信息

  

根据我的研究,错误消息仅由FireFox生成   当Internet中的呈现页面为空时。出于某种原因,.NET   在创建时生成响应类型“application / xml”   空页。 Firefox将文件解析为XML并且找不到根   element,吐出错误信息。

换句话说,这是已知的Firefox问题

答案 1 :(得分:3)

希望这可以帮助某人。 我在Action方法中更改了返回值的类型,并且它起作用了。可以在this article中找到更多详细信息。

更改自

return Ok();

return Json("Ok");

答案 2 :(得分:1)

public IActionResult MethodName()
{
    // YOUR CODE 
    return StatusCode(204);
}

代码204-服务器成功处理了请求,并且未返回任何内容

有关状态码的更多详细信息,请检查以下页面: List of HTTP status codes

答案 3 :(得分:0)

我通过将服务器上的Content-Type标头设置为text/plain来解决此问题。在Node中是这样的:

res.setHeader('Content-Type', 'text/plain');

使用适合您数据的任何MIME类型,例如application/json等。

答案 4 :(得分:0)

在发布axios调用时出现此错误。而且我们的测试服务器不在
    允许的来源:

主机列表。将我们的服务器添加到application.yml的allowed-origin中即可解决此问题。

答案 5 :(得分:0)

如果您在控制器操作上具有[ValidateAntiForgeryToken]属性,并尝试在没有实际令牌的情况下提交表单,也会发生这种情况。您可以使用

显式呈现令牌
@Html.AntiForgeryToken()

这是首选解决方案,或删除验证属性。

答案 6 :(得分:0)

我曾在几种不同的情况下看到过 XML Parsing error: no root element 错误。它通常只出现在 Firefox 开发者控制台中。

  1. 返回带有空正文的 200 OK 响应代码。您的服务器应该返回 204 No Content 响应代码。

  2. 返回 204 No Content 响应代码,然后将内容附加到响应中。您的服务器应该返回 200 OK 响应代码。

  3. 返回错误的 Content-Type。将其设置为响应正文中使用的相同类型(JSON、XML、纯文本等),否则可能会被错误解析。

如果这些都不能解决您的问题,我会检查您的所有响应标头是否正确。 Content-Length 等其他字段也可能会干扰。

答案 7 :(得分:0)

这是此错误消息的最高 Google 结果,我还没有看到涵盖另一个棘手案例的答案,所以这里是:

如果您的 SVG 正确提供,但缺少结束 </svg> 标记,也会发生这种情况!例如,如果响应仅部分提供,因为它是流式响应并且在中途出错......

答案 8 :(得分:0)

我用

解决了我的问题
return NoContent();

当你什么都不想要返回时似乎更清楚。