Я хочу получить данные (время), сравнивая идентификатор пользователя и дату с сообщением. Но для тестирования я просто вызываю php-функцию ajax. Я создал отдельный php-файл (myscript.php), в котором я создал функцию и эхо-код вроде этого.
function my_action(){ echo "dasdasasdaaddad"; $date = $_POST['date']; echo $date; return $date; }
Теперь, когда я нажимаю кнопку, я получаю дату и идентификатор пользователя.
global $wp; $current_url = home_url(add_query_arg(array(),$wp->request)); add_action( 'the_content', 'my_action_javascript' ); function my_action_javascript() { $current_user = wp_get_current_user(); $uid = $current_user->ID; ?> <script type="text/javascript" > jQuery(".date").click(function(){ clicked = this; var dates= jQuery(clicked).closest("ul").find(".getdate").val(); var item= jQuery(this).closest("li.lia"); var date = jQuery(item).find("input.getdate").val(); //var dates = jQuery(item).find("input.getdate").val(); alert(date); jQuery.ajax({ type:"post", url: "<?php $current_url;?>/myscript.php", data : { 'action': 'my_action', 'date': date, 'userid': "<?php echo $uid?>" }, // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php success: function(data) { successmessage = 'Data was succesfully captured'; $("label#successmessage").text(successmessage); }, error: function(data) { successmessage = 'Error'; $("label#successmessage").text(successmessage); }, }); }); </script> <?php }
Я указал URL-адрес этого файла в URL-адресе ajax. Теперь он должен печатать данные из файла myscript.php, но я получаю этот результат в ответ от ajax.
Got this from the server:0
Я также проверил сеть, и мне кажется, что это хорошо. ajax получает идентификатор пользователя и дату, но ответ 0. Не знаете, почему?
на myscript.php странице удалить функцию my_action () .. потому что вы не вызываете это.
if you want to call this before that use my_function(); <?php my_function(); function my_action(){ echo "dasdasasdaaddad"; $date = $_POST['date']; echo $date; return $date; } ?>
Вы не вызываете свою функцию my_action в файле myscript.php. Вызовите свою функцию, и получите желаемый результат.
<?php function my_action(){ echo "dasdasasdaaddad"; $date = $_POST['date']; echo $date; return $date; } my_action(); ?>