我只花了几个小时的时间来调试这个问题。我在这里为其他人记录。
问题:
当我尝试在Internet Explorer中单击AjaxLink
时出现以下错误:
Wicket: ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Object required
它适用于所有其他浏览器;只是IE被破坏了。
答案 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这样的响应。