投稿とユーザーIDと日付を比較してデータ(時間)を取得します。しかしテストのために、私は単にajaxでphp関数を呼び出しています。私は別のPHPファイル(myscript.php)を作って、その中で関数を作り、そのようなものをエコーします。ajaxからseprateファイルのphp関数を呼び出すことができません
function my_action(){
echo "dasdasasdaaddad";
$date = $_POST['date'];
echo $date;
return $date;
}
ボタンをクリックすると、日付とユーザーIDが表示されます。
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
}
私はajax urlでそのファイルのURLを指定しました。今はmyscript.phpファイルからデータを出力するはずですが、私はajaxからの応答でこの結果を得ています。
Got this from the server:0
私もネットワークをチェックしていて、それは私にとっては良いようです。 ajaxはユーザーIDと日付を取得していますが、レスポンスは0です。理由は分かりません。
myscript.phpまたはajaxに問題がある場合は、まず作業してください。 myscript.phpの '$ _POST'を' $ _GET'に変更し、 'myscript.php?date = test'に直接行くと、出力は正しく見えますか?もしそうなら、そのURLはこの行で生成されたURLと一致しますか? 'url:" <?php $ current_url;?>/myscript.php "、? – Hobo