我已经从 Rich faces 3.3 升级到 rich faces 4.2,因为 ajax 不适用于 IE9。现在它仍然无法正常工作。
收到响应后,IE 收到一个 JS 错误“SCRIPT58734: Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: c00ce56e。” 在尝试的同时
data.responseText=request.responseText
在 jsf.js.html?ln=javax.faces&conversationContext=2,第 1 行第 21747 行
我认为这是因为 HTTP 标头不正确
Content-Type: text/xml;charset=UTF8
应该
Content-Type: text/xml;charset=UTF-8
这里是服务器的原始响应
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Cache-Control: no-cache
Content-Type: text/xml;charset=UTF8
Content-Length: 293
Date: Tue, 17 Apr 2012 15:25:22 GMT
<?xml version='1.0' encoding='UTF8'?>
<partial-response><changes><update id="outtest"><![CDATA[<span id="outtest"><span class="outhello">Hello !</span></span>]]></update><update id="javax.faces.ViewState"><![CDATA[2809980525147413088:295565165947012503]]></update></changes></partial-response>
我正在使用
javaee-web-api 6
myfaces-orchestra-core 1.4
Hibernate 4.1
Spring 3.1.1
Richfaces 4.2.0
Primefaces 3.2
jsf-api+impl 2.1.7
jstl 1.2
并在tomcat 7上运行
编辑:现在我确定它的标题。我在 charles-proxy 中设置了一个断点并手动编辑了响应头,编辑后的 http 头 IE9 显示了正确的结果,没有任何错误