На помощь! Убил 8 часов, результата - 0. Есть код:
<script type="text/javascript">
var tt = 0
var d = new Date();
var n = d.getTime()/1000;
var s = <?php echo $_SERVER['REQUEST_TIME']; ?>;
var lefin = (n - s)/60/60;
if (lefin >= -0.1) {
var tt = 1
}
if (lefin < -0.1) {
var tt = 2
}
if (tt == 1) {
function ajaxCall(tt) {
alert("To AJAX: CHECK "+tt);
jQuery.ajax({
type: "POST",
url: "wp-content/plugins/UFR/script.php",
dataType: 'json',
data: "param="+10,
success: function(response)
{ alert("yoyo")}
}
);
};
ajaxCall(tt);
}
console.log(n);
console.log(lefin);
console.log(tt);
</script>
и файл со скриптом:
<?php
$timedf = json_decode($_POST['param']);
?>
По идеи теперь на моей странице должна стать доступна переменная $timedf - но все тщетно. Кто знает в чем дело, помогите
Во-первых - ajax в wordpress работает по определенным правилам. Сейчас у вас прямые запросы на файл обработчик, но в вордпресс все ajax запросы должны направляться на /wp-admin/admin-ajax.php
, а обработчики подключаются к хукам.
Тема ajax в вордпресс достаточно большая, чтобы здесь ее описывать, поэтому изучите эту статью, чтобы правильно писать рабочий поддерживаемый код.
Если уж хотите, чтобы сейчас работал свой код, попробуйте изменить функцию таким образом:
function ajaxCall(tt) {
alert("To AJAX: CHECK " + tt);
jQuery.ajax({
type: "POST",
url: "/wp-content/plugins/UFR/script.php",
dataType: 'json',
data: {
param: 10
},
success: function(response) {
console.log(response)
}
});
}
И обращайте внимание на читабельность кода и парность скобок
Во-первых проверь, что подключена библиотека JQuery. Во-вторых в твоём примере, ты организуешь работу веб-приложения с помощью Ajax, это технология асинхронного взаимодействия с сервером, т.е. файл где расположен js скрипт это клиент. Файл script.php это серверный скрипт, по идее там должна быть прописана логика, что делать с данными переданными с клиента.
В твоем примере, ты отсылаешь Ajax запрос в серверный скрипт, скрипт должен что-то там сделать, обработать полученные данные и вернуть результат, который можно будет получить в том месте, где у тебя прописано: alert("yoyo")
<?php
$timedf = json_decode($_POST['param']);
// т.е. клиент ждёт ответ в json, конвертируем ответ в JSON и выводим результат
echo json_encode($timedf);
?>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь освоить PHP и естественно возникают определенные трудностиВот сам код: