3

我们有一个使用 Struts2-jQuery 框架进行 Ajax 操作的 Struts2 应用程序。在 Struts2-jQuery 中使用 Autocompleter (sj:autocompleter) 标签时,它会向 Struts2 Action jsonlanguages 发出 ajax 请求。

<s:url var="remoteurl" action="jsonlanguages"/>
<sj:autocompleter
    id="languages"
    href="%{remoteurl}"
    delay="50"
    loadMinimumCount="2"
/>

我们为此操作定义了一个结果类型 ERROR,如下所示,以触发内部服务器错误,而不是作为成功的 ajax 请求完成。

<result name="ERROR" type="httpheader">
  <param name="status">500</param>
  <param name="headers.a">a custom header value</param>
  <param name="headers.b">another custom header value</param>
</result>

问题:现在这种方法会触发"onErrorTopics"所有其他 Struts2-jQuery 标记(如sj:select..etc),但它似乎不会在sj:autocompleter. 有人遇到过这个问题吗?如果是这样,处理来自自动完成器的 ajax 请求期间发生的异常的最佳方法是什么?

4

1 回答 1

1

我认为在您自己检查返回的 json 的有效性之前,不可能在视图中进行异常处理。

顺便说一句,自动完成器不返回任何结果,而是返回一个 json 对象。

您可以验证 javascript 或 jquery 中的操作返回的 json。

于 2013-09-24T18:04:09.900 回答