0

这是我的代码:

<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 ,但这也没有用。所以请帮助我我在哪里错过了什么?

4

2 回答 2

2
$.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 { 
    }
}

});

于 2013-10-04T09:49:34.613 回答
1

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

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

只需更换

<?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 

         }
       }
    });       

});
于 2013-10-04T09:56:57.070 回答