将数据发送到另一个页面时,Ajax调用无法正常工作

时间:2013-10-04 09:46:33

标签: php jquery html ajax

这是我的代码:

<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,但这也不起作用。亲切地帮助我,我在哪里错过了什么?

2 个答案:

答案 0 :(得分: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 { 
    }
}

});

答案 1 :(得分: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 

         }
       }
    });       

});