将数据发送到另一个页面时,Ajax 调用不起作用


Ajax call not working when sending data to another page

这是我的代码:

<div class="category" id="<?php echo $cat->term_id; ?>"><?php echo $cat->cat_name; ?>   </div>

$(".category").click(function(){
             var categ = $(this).attr('id');
                              alert(categ);

    ajax({
  type:'POST',
  url:'http://myweb.com/rel_notes/?page_id=238',
  data:'cat='+categ,
  success:function(data) {
    if(data) {  

    } else { // DO SOMETHING 
  }
       }
});       
    });

接收发布数据(http://myweb.com//rel_notes/?page_id=238)的页面背后的代码在这里:

<?php
if (isset($_POST['cat']))
{
$cat_id = $_POST['cat'];
echo "<script>alert('$cat_id')</script>";
}
else
$cat_id = NULL;
?>

问题:它没有获取 $cat_id 中的值。我尝试将 _POST 美元更改为 _GET 美元,但这也不起作用。所以请帮我,我在哪里错过了什么?

$.ajax({
  type:'POST',
  data: {cat: categ},
  url:'http://myweb.com//rel_notes/?page_id=238',
  error: function() {
         alert("Data Error");
    },
  success:function(data) {
     if(data) {  
    } else { 
    }
}

});

这不是

好办法,伙计。没有人可以在服务器端发出警报。

您正在服务器端执行警报代码。

只需更换

<?php
if (isset($_POST['cat']))
{
$cat_id = $_POST['cat'];
echo "<script>alert('$cat_id')</script>";
}
else $cat_id = NULL;
?>

<?php
if (isset($_POST['cat']))
{
    echo $cat_id = $_POST['cat'];
}
else {
    echo $cat_id = "";
}
?>

并提醒代码,例如

$(".category").click(function(){
    var categ = $(this).attr('id');
    alert(categ);
    ajax({
      type:'POST',
      url:'http://myweb.com/rel_notes/?page_id=238',
      data:'cat='+categ,
      success:function(data) {
        if(data != "") {  
          alert(data);
        }else { // DO SOMETHING 
         }
       }
    });       
});