2011-06-01 19 views
3

我刚用了几个小时的时间来调试这个问题。我正在为其他人记录它。Wicket.Ajax.Call.failure:解析响应时出错:需要对象

问:

我收到以下错误,当我尝试在Internet Explorer中点击一个AjaxLink

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

它可以在所有其他浏览器的罚款;只是IE被破坏了。

+0

我遇到了一些其他类型的问题:Wicket.Ajax.Call.failure:解析响应时出错:方法不允许 – 2015-11-05 15:56:13

回答

6

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

在我的情况下,我忽略了关闭<head>部分中的<link>标记。简单地关闭该链接标签就会发挥重要作用。

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

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这样的响应。