0

编辑:我发现这是一个 405 错误。因此,网络服务器和处理 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”。

4

2 回答 2

0

确定scrollTo 脚本包含在生产服务器上(还是我误解了您的意思change)?也许尝试根相对路径而不是'./js'?我会检查 Firebug 的脚本选项卡以确保它被包含在内。

于 2009-10-21T04:13:51.873 回答
0

405 错误意味着您发送到的 URL 不希望您以这种方式发送数据。例如,如果您向仅用于处理 GET 请求的 URL 发送 POST 请求,则会收到此错误。

我的猜测是,您运行的任何服务器都设置为不允许将 POST 数据发送到扩展名为 .html 的页面,从而导致您看到的错误。尝试将扩展名更改为 .php、.aspx 等,看看是否有帮助。

于 2009-11-22T18:07:10.033 回答