我正在使用MM_goToURL()函数,我从Macromedia Dreamweaver借用该函数将HTTP请求发送到服务器上的特定URL。下面是该函数的代码,它在外部JavaScript文件中声明。
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments;document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
我有一个选择组合框,它应该在更改时触发请求。 这是下面代码的静态形式。请注意,它通常使用JSP动态生成。
<!-- The next line of code is where the problem is -->
<select onchange="MM_goToURL('parent','statistics_servlet.mpcs?chart=Sales&chartType=Daily&weekSelected='+this.value);">
<option value="Jan 5, 2014" selected="selected">This week: Jan 5, 2014 to Jan 11, 2014</option>
<option value="Dec 29, 2013">Last week: Dec 29, 2013 to Jan 4, 2014</option>
<option value="Dec 22, 2013">Prev week: Dec 22, 2013 to Dec 28, 2013</option>
<option value="Dec 15, 2013">Prev week: Dec 15, 2013 to Dec 21, 2013</option>
...
...
<option value="Nov 10, 2013">Prev week: Nov 10, 2013 to Nov 16, 2013</option>
<option value="Nov 3, 2013">Prev week: Nov 3, 2013 to Nov 9, 2013</option>
</select>
上面的代码在localhost服务器上运行良好,但在我的生产服务器/域上不起作用。
我的域名是“www.royalseeds.org”,但设置为转发&amp;屏蔽到http://idy777.s156.eatj.com/RoyalSeedsMPCS/
的生产服务器我的用户必须使用域名而不是服务器URL,因为域名更友好。相关网页的网址为http://www.royalseeds.org/statistics_servlet.mpcs,但组合框在更改时拒绝发送请求。
显然这不是Servlet / JSP问题,我怀疑是域名发送/屏蔽机制。
我还使用此网址http://idy777.s156.eatj.com/RoyalSeedsMPCS/statistics_servlet.mpcs测试了该网页,它的效果非常好,就像我的
一样http://localhost:8080/RoyalSeedsMPCS/statistics_servlet.mpcs
所以,我的问题是:我该怎么做才能解决这个问题?
修改 我已禁用指定页面/ servlet的过滤器http://idy777.s156.eatj.com/RoyalSeedsMPCS/statistics_servlet.mpcs或http://www.royalseeds.org/statistics_servlet.mpcs,以便能够访问该页面。但出于安全考虑,我将在24小时后启用它。感谢。
答案 0 :(得分:2)
我做了一些研究,我认为域名转发和屏蔽会导致网站进入html框架,从而禁止JavaScript链接工作。
这是我的域名上托管网站的源代码:
<html>
<head>
<title>Royalseeds </title>
<META name="description" content="Royalseeds MPCS Limited"><META name="keywords" content="Royalseeds, Frozen Foods, Cool Room">
</head>
<frameset rows="100%,*" border="0">
<frame src="http://www.optdesolver.com/RoyalSeedsMPCS/statistics_servlet.mpcs" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
<!-- pageok -->
<!-- 03 -->
<!-- -->
</html>
上面的代码阻止了JavaScript的加载。
解决方案:我会禁用屏蔽但允许转发。