Так что мой сайт отлично работает в прошлом году или около того, и части его перестали работать, когда я проверил его сегодня. Мне это показалось странным, так как я не изменил никакого кода.jQuery .load() перестает работать с параметром POST
После некоторого расследования, я думаю, что я приколол проблему до функции 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, ничего не загружается в div «testd», но появляется сообщение в «mess».
Если я удаляю аргумент {varx: 10}
в .load()
, сообщение в "testd" отображается в порядке (без фактического значения x, очевидно).
Итак, похоже, что аргумент POST в .load как-то нарушает функцию. Даже когда я удаляю строку $x= $_POST["varx"];
в загружаемом файле php и имеет простое эхо, ничего не загружается, когда аргумент POST включен в .load().
Есть ли у кого-нибудь идеи относительно того, почему эта проблема возникает? Как я уже говорил ранее, эти вызовы .load() работали нормально на моем сайте до недавнего времени, и я ничего не изменил между тем, когда он работал, и когда он прекратил работать.
Я связываюсь с jQuery 1.7.2 от Google API (http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js), а мой хост - 000webhost.com. Возможно ли, что проблема связана с хостом? У меня нет локального сервера, поэтому все мои тесты были выполнены в прямом эфире, через 000webhost.
В любом случае, я был бы признателен за любые идеи, которые могут иметь люди. Просто дайте мне знать, может ли быть полезной информация с моего конца. Благодаря!
Является ли ваша библиотека JQuery загружается с вашего сервера или он тянет из общественного канала? – SuperJer
Он извлекается из общей ссылки: http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js – Marvin
Код выглядит нормально (и вы сказали, что он работает), так что, возможно, хост изменил что-то. Возможно, проверьте журнал ошибок PHP? – Owlvark