我正在使用代码来创建用户登录表单。问题是我能够从Internet Explorer登录,但是当我从Firefox登录时,相同的代码会在屏幕上打印HTML代码。我正在使用java过滤器。
下面的代码正在屏幕上打印。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
<head>
<meta HTTP_EQUIV="pragma" content="no-cache"/>
<meta HTTP_EQUIV="cache-control" content="no-cache" />
<meta HTTP_EQUIV="cache-control" content="no-store"/>
<meta HTTP_EQUIV="expires" content="0" />
<title>ABC</title>
<script language="javascript" >
if(window.parent.length > 0) {
var url = "/java/ehr.Home";
var par = "null";
if(par != "" && par != "null") {
url = url + "?" + par ;
}
if(url != "") {
window.parent.location = url;
}
}
</script>
</head>
<frameset rows="111,*" framespacing="0" frameborder="0" border="0">
<frame name="top" src="ehr.cms.PageBuilder?Page=topNavigationLegacy:/manager/home.xml" marginwidth="0" marginheight="0" scrolling="no" noresize="">
<frame name="middle" src="ShowLoading?LanguageCode=en&msgid=IDL_LOADING&redirect=/java/ehr.cms.PageBuilder?Page=topNavigationLegacy:/manager/home.xml" marginwidth="0" marginheight="0" scrolling="auto" noresize="" />
<frame name="middle" src="ehr.cms.PageBuilder?Page=/manager/home.xml" marginwidth="0" marginheight="0" scrolling="auto" noresize="">
<noframes>
<body>
<p>Please use a browser which is able to show FRAMESETS!</p>
</body>
</noframes>
</frameset>
</html>
我还在java过滤器中设置了内容类型“text / html”,但遇到了同样的问题。任何人都可以调查我的问题。
答案 0 :(得分:0)
您的Web服务器似乎正在使用不正确的内容类型提供HTTP响应。您可以通过查看浏览器的“页面信息”页面来确认:使用“工具&gt;页面信息”菜单条目或CTRL-I。我希望它会显示Firefox认为页面类型类似于“text / plain”。
在“工具”菜单中,您应找到其他工具,以便您查看响应实际包含的内容;即“内容类型”标题包含的内容。
我认为IE呈现页面的原因是它只是对您服务器的错误HTTP响应更加宽容。
我还在java过滤器中设置了内容类型“text / html”,但遇到了同样的问题。
显然,这是行不通的。 (也许你做得不对?)在浏览器端检查实际的响应头应该可以帮助你验证这一点。