编辑:我发现这是405错误。因此,Web服务器和处理POST方法都会发生一些事情。
我发生了一件奇怪的事。我的测试环境和生产环境都有相同的javascript代码。
测试环境起作用,而生产则不起作用。这是我的相同代码。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jquerytools.org/1.1.2/jquery.tools.min.js"></script>
<script type="text/javascript" src="./js/jquery.scrollTo-min.js"></script>
</head>
<body>
<div class="content" id="content">
<a id="changeText" href="test.html">Change</a>
</div>
<script>
$(document).ready(function() {
$("#changeText").live('click', function(){
var url = $(this).attr("href");
$("#content").load(url, {var1:Math.random()*99999},function(){
alert(url + " loaded");
});
$.scrollTo("0%", 400);
return false;
});
});
</script>
</body>
</html>
两种环境均报告
alert(url + " loaded");
正在发生。但只有我的测试环境实际显示了变化。
生产网络服务器在正确的位置提供“test.html”。
答案 0 :(得分:0)
您确定生产服务器上是否包含scrollTo脚本(或者我是否误解了change
的含义)?也许尝试一个根相对路径而不是'./js'?我会检查Firebug的脚本选项卡以确保它被包含在内。
答案 1 :(得分:0)
405错误意味着您发送到的URL不希望您以这种方式发送数据。例如,如果您要向仅设计用于处理GET请求的URL发送POST请求,则会收到此错误。
我的猜测是,您运行的任何服务器都设置为不允许将POST数据发送到扩展名为.html的页面,从而导致您看到的错误。尝试将扩展名更改为.php,.aspx等,看看是否有帮助。