【发布时间】:2017-01-04 07:58:42
【问题描述】:
我想通过将用户 ID 和日期与帖子进行比较来获取数据(时间)。但为了测试,我只是通过 ajax 调用 php 函数。我创建了一个单独的 php 文件(myscript.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",?