无法在另一个页面上获取ajax的数据值

时间:2014-08-18 10:14:16

标签: javascript php jquery ajax

我试图将用户投票更新为数据库。这下面的ajax代码返回正确的评级数据。但是,我无法在另一页上获取警报数据。在我的car_user_rating.php页面中,我尝试了这个echo $post_rating = $_POST['performance_rating'];。但它没有获得performance_rating数据值。

我检查了我的控制台。它返回评级值(4)。我很困惑为什么它没有获得数据值?

ajax请求

$(function () {
    $('#form').on('submit', function (e) {
      performance_rating = $('input:radio[name=rating]:checked').val();
      e.preventDefault();
      $.ajax({
        type: 'POST',
        url: "<?=CAR_USER_RATINGS?>",
        data: { performance_rating: performance_rating },
        success : function(data){
            alert(performance_rating)
         },
      });
    });
});

4 个答案:

答案 0 :(得分:0)

您应该提醒您data

中传递的success: function()

     success : function(response){
        alert(response);
     },

答案 1 :(得分:0)

在提交处理程序中使用'var',可能是因为范围:

var performance_rating = $('input:radio[name=rating]:checked').val();

答案 2 :(得分:0)

我不确定你的背景如此无法准确说出来。此外,我不知道你是否使用与上面完全相同的代码,或者你已经写了代码匆忙,因为那里有错误!
但首先尝试这些

  1. 数据:{&#34; performance_rating&#34 ;: performance_rating},
  2. url:"<?php=CAR_USER_RATINGS?>" //你忘记了php
  3. success:function(data,testStatus,xhr){                                  }, 并检查数据的每个值,testStatus,xhr
  4. 的价值是什么?
    1. $ .ajax
    2. 之前的performace_Rating 在$ .ajax 之前
    3. "<?php=CAR_USER_RATINGS?>"

答案 3 :(得分:0)

总结一下。我可以从你的评论中找出你的php如下:

  

没有。我在body标签内的php页面上有这些代码

 <?php  echo $post_rating = $_POST['performance_rating'];   
/*var_dump($get_rating);    echo $sql = "UPDATE ".TBL_CAR_USER_RATINGS." SET performance = '$get_rating' WHERE model_id = '2'";     die();  mysql_query($sql, $CN) or die(mysql_error()); */ ?>

这是在身体标签内部!好吧,如果你使用body标签,我认为你也在使用其他html,header(可选)标签

对于ajax响应页面,对客户端的回复应“仅”是您要发回的值。 拥有标签将导致包含这些标签的ajax响应。 因此,如果您希望您的ajax页面返回性能评级,请执行以下操作:

//car_return_Rating.php 

<?php echo $_POST['performance_rating']; ?>

如果您有以下代码,则您的回复显示在下方

 //car_Return_rating.php
<html>
<body>
<?php echo $_POST['performance_rating']; ?>
</body>
</html>

然后响应,即成功的数据(数据){}

将等于

data = "<html><body>4</body></html>"; //assuming 4 to be equal to $_POST['performance_rating'];