Wicket.Ajax.Call.failure:解析响应时出错:需要对象

时间:2011-06-01 20:35:09

标签: ajax wicket

我只花了几个小时的时间来调试这个问题。我在这里为其他人记录。

问题:

当我尝试在Internet Explorer中单击AjaxLink时出现以下错误:

Wicket: ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Object required

它适用于所有其他浏览器;只是IE被破坏了。

2 个答案:

答案 0 :(得分:6)

检查以确保您的HTML在语法上100%正确。 Ajax响应返回到CDATA部分内的浏览器,如果有效负载格式不正确,IE有时会窒息。

在我的情况下,我忽略了关闭<link>部分中的<head>标记。简单地关闭该链接标记就会产生重大影响。

除此之外:如果您在Wicket中遇到过难以解决的问题,那么最好创建一个可以重现您的问题的quickstart project。将事情搞砸可能需要做很多工作,但这样做往往会找到问题的根源。

答案 1 :(得分:0)

我想在IE中注意Wicket的AJAX问题的另一个潜在原因。它可能会帮助遇到类似问题的人。

在我的情况下,我在IE中出现以下错误消息:

Wicket: ERROR: Wicket.Ajax.Call.failure: Error while parsing response: could not find root <ajax-response> element

原因是内容类型的AJAX响应不正确。我使用了AbstractTransformerBehavior并且Wicket 1.4.x中存在一个错误,因此这种行为是用text / html重写Content-Type的响应。 IE不解析XML这样的响应。