jQuery,字符串操作:找到一个标签

时间:2009-07-23 11:48:21

标签: asp.net jquery dom

在发布“$.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做到这一点?

1 个答案:

答案 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,因此它不可见。