所以我的网站在过去一年左右一直运行良好,当我今天检查它时,它的一部分停止了工作。这对我来说似乎很奇怪,因为我没有更改任何代码。
经过一番调查,我认为我已经将问题归结为 jQuery .load() 函数。我在一个名为“debug.php”的文件中有如下内容:
...
<div id="testd"></div>
<p id="mess"></p>
...
<script type="text/javascript">
$(document).ready(function() {
$("#testd").load("../scripts/debug_script.php", {varx: 10}, function() {
$("#mess").html("inside testd reached")
});
});
</script>
文件 debug_script.php 很简单:
<?php
$x= $_POST["varx"];
echo "<p>x is $x</p>";
?>
使用上面的代码,在文件 debug.php 中,“testd” div 中没有加载任何内容,但“mess”中的消息显示。
如果我删除 的{varx: 10}
参数.load()
,“testd”中的消息会显示得很好(显然没有 x 的实际值)。
所以看起来 .load 中的 POST 参数以某种方式破坏了函数。即使我删除了$x= $_POST["varx"];
正在加载的 php 文件中的行并且只有一个简单的回显,当 POST 参数包含在 .load() 中时也不会加载任何内容。
有没有人知道为什么会出现这个问题?就像我之前说的,这些 .load() 调用直到最近在我的网站上运行良好,而且在它工作和停止工作之间我根本没有改变任何东西。
我从 Google API ( http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js ) 链接到 jQuery 1.7.2,我的主机是 000webhost.com。问题可能与主机有关吗?我没有安装本地服务器,所以我的所有测试都是通过 000webhost 实时完成的。
无论如何,我会很感激人们可能有的任何想法。只要让我知道我的更多信息是否有用。谢谢!