在发布“$.ajax()
”的帖子后,我有时会收到服务器的异常。您可以在下面看到返回的HTML的一部分:
<html>
<head>
<title>MyMessage</title>
<style>
/* ... */
</style>
</head>
<body bgcolor="white">
<span>
<H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>
<h2> <i>MyMessage</i> </h2>
</span>
<b> Exception Details: </b>System.Exception: MyMessage<br><br>
<!-- ... -->
[Exception: MyMessage]
lambda_method(ExecutionScope , ControllerBase , Object[] ) +159
...
</body>
</html>
我想得到title标签的值(“MyMessage”)我如何用jQuery做到这一点?
答案 0 :(得分:4)
总之,我认为你不能。 jQuery只允许您选择可以放在div标签内的标签。您的标题标签不符合条件。
有关详细信息,请参阅this answer。
部分HTML :
还有其他选择。每当遇到错误时,您都可以返回部分HTML。而不是<html><body><p>Error</p></body></html>
,而是返回<p>Error</p>
。
<强> JSON 强>:
你也可以选择一些比JSON更清洁的东西。由于你正在使用ajax,你可以发回以下字符串:
{'status':'failed','message':'Something bad happened'}
然后在客户端脚本中访问“message”值。
代理脚本:
通过使用以C#或PHP编写的代理脚本,您可以访问title字段的值,并将其返回到jQuery ajax进程。
IFrame方法:
将结果加载到iframe中,然后通过iframe.document.title
获取值。你可以制作iframe 1x1,因此它不可见。