Javascript:有效地检查文本是否为完整的HTML文档
Javascript: Check whether text is a full HTML document efficiently
我们的web应用程序将被部署为带有SSO的系统的一部分。会话超时后,我的xmlhttprequest被重定向到登录页面,我们无法控制这一点。
在每个AJAX响应处理程序上,我必须检查响应文本是否为完整的HTML页面。(HTML片段和JSON是有效的响应)
我必须承认我对客户端技术很陌生。我捕获完整的HTML页面,像这样:
if (data.search(/<html>/) > -1) { ... }
我认为这是非常低效的,依赖于我们的惯例,并且可能在将来引入微妙的错误。特别是考虑到整个web浏览器的主要目的是解析HTML…
请分享更多优雅的解决方案来识别文本作为完整的HTML文档!
(JQuery已经在项目中使用)
关闭编辑:
我在选择接受一个答案时有点为难,因为解决方案似乎是评论中两个加号想法的组合:
我将有单独的验证器JSON和HTML片段:
我期待JSON,响应必须是JSON。
我期待一个HTML片段(而不是一个完整的文档)的响应必须以结束标记结束(忽略空格),但不是(不区分大小写)。SSO登录页面必须结束于,我们将记录此"限制"
感谢大家的贡献!
如果您想检查响应是否为完整的HTML页面,您可能希望从末尾开始查看,不是吗?检查</html>
是否在末端不会浪费太多性能。如果你不希望这样,请澄清你所说的完整的HTML页面是什么意思
您可以在响应中使用parseJson()。如果它返回一个对象,那就是json,否则就是html片段
responsetrial = $.parseJson(response);
if(typeof reponsetrial ==='object'){
//it's json
}else{
//it's html
相关文章:
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何用javascript重写html文档
- 是否可以使用有角度的HTML文档进行$编译
- 如何确保通过电子邮件发送的html文档中的Google Drive链接不会被识别为附件
- 将jQuery.js文件附加到html文档中
- 为任意html文档创建不引人注目的覆盖
- 在HTML文档中使用XML文件中的数据
- 删除“;NaN”;来自HTML文档
- 显示“<script src='some.js'></脚本>"在Html文档中
- 如何通过JS在不干扰其标记的情况下更改HTML文档中字符串的所有实例
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- 如何从 html 文档中调用 yahoo weather api javascript 函数
- c# mvc nreco HtmlToPdfConverter 问题将 html 文档转换为 pdf
- 访问 HTML 文档中的 HTML
- 使用 PHP 将 css/js 文件分配给 html 文档
- 将变量从服务器上的外部文件加载到 HTML 文档中
- 使用 ajax 将 HTML 文档附加到元素
- 如何将 HTML 文档作为起始值传递给 CodeMirror
- 如何在父 html 文档中访问嵌入的 html 文档的子级
- 无法将我的 html 文档连接到 jquery