我目前正在为wordpress创建一个插件,这是一个发送js变量作为数据的ajax。然后,我希望能够在我的PHP插件模板文件中使用数据中的变量。
所以这里有一个更详细的说明。 我有这个名为showgroups.php的文件
<?php
foreach ($attributes as $term) :?>
<a class="testclick" href="#" rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a>
<?php
endforeach;
?>
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
var clickedID = "";
$('.testclick').click(function(){
clickedID = $(this).attr('rel');
console.log(clickedID);
$.ajax({
type: "GET",
url: ajaxurl,
data: ({clickedID: clickedID}),
success: function(response) {
console.log(response);
}
});
});
</script>
所以在我的PHP中,我将一个ID作为int传递给一些HTML <a>
标签,我将其作为rel =&#34;&#34;链接。
然后在我的点击功能中,我将rel并将其放入变量&gt; clickedID,然后发送AJAX请求,我将变量&gt; clickedID传递给data属性。
在我的成功函数中,我在console.log中响应了<a>
,这给了我正确的ID(来自我<a>
的相对内容)
as seen here
现在我尝试将此数据/ AJAX调用传递给我的下一个PHP文件:
<?php
$lol = $_GET['clickedID'];
echo '123' . $lol;
但是$ lol变量是NULL。 有没有人有任何想法,为什么我似乎无法访问,来自AJAX调用的数据
答案 0 :(得分:0)
我已将rel更改为data-rel
HTML5数据属性(Reference)
更新后的代码如下:
<?php foreach ($attributes as $term): ?>
<a class="testclick" href="#" data-rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a>
<?php endforeach; ?>
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
var clickedID = "";
$('.testclick').click(function(){
clickedID = $(this).data('rel'); // change over here
console.log(clickedID);
var dataString = {clickedID: clickedID}; //change over here
$.ajax({
type: "POST", // change over here
url: ajaxurl,
data: dataString , // change over here
success: function(response) {
console.log(response);
}
});
});
</script>
答案 1 :(得分:0)
<?php
foreach ($attributes as $term) :?>
<a class="testclick" href="#" rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a>
<?php
endforeach;
?>
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
var clickedID = "";
$('.testclick').click(function(){
var clickedID = $(this).attr('rel');
console.log(clickedID);
$.ajax({
type: "GET",
url: ajaxurl,
data: ({clickedID: clickedID}),
success: function(response) {
console.log(response);
}
});
});
</script>
&#13;
如果要传递get ajax请求,则应该像变量一样定义。