使用Ajax发送数据& jQuery的

时间:2014-05-15 12:33:04

标签: javascript php jquery mysql ajax

用修补程序编写 - 问题已解决

上下文:我尝试创建一个页面,点击图片会更改用户在服务器上的首选项。尝试使用ajax在不刷新页面的情况下发送信息,并使用Jquery来触发帖子。

问题:似乎没有发布任何内容。似乎ajax没有将数据发布到data.php文件。

预期的操作点击图片后,父级的ID会在该用户的游戏列中发布。

的header.php

<script type="text/javascript">
  $(document).ready(function(){
    $(".pickteam").click(function() {
        var game = $(this).parent().attr('data-id');
     $.ajax
        ({ 
            url: 'data.php',
            data: {game: game},
            type: 'post',
        });
    });
 });
</script>

的index.php

<div class="col-md-3 team1 otherteam" data-id="m004">
    <button class="pickteam">
        <img src="http://img.fifa.com/images/flags/4/bra.png" alt="Brazil">
    </button>
    <span class="country">BRAZIL</span>
</div>

data.php

$game = $_POST['game'];

mysqli_query($con, "INSERT INTO choices (user, game) VALUES ('12345', '$game')");

在任何和所有帮助之前提前致谢。

4 个答案:

答案 0 :(得分:2)

我猜你没有把你的数据ID设置为正确,因为你的jQuery代码应该是var game = $(this).parent().attr('data-id');,所以要把它们放在一起:

<script type="text/javascript">
    $(".pickteam").click(function() {
        var game = $(this).parent().attr('data-id');
     $.ajax
        ({ 
            url: 'data.php',
            data: {game: game},
            type: 'post'
        });
    });
</script>

答案 1 :(得分:1)

使用var game = $(this).parent().attr('data-id');从父div获取值

并从type : "post",附近的ajax函数中删除额外的逗号,因此最终代码应为:

<script type="text/javascript">

$(document).ready(function(){

        $(".pickteam").click(function() {
            var game = $(this).parent().attr('data-id');
         $.ajax
            ({ 
                url: 'data.php',
                data: {game: game},
                type: 'post'
            });
        });
});

</script>

答案 2 :(得分:0)

您需要使用

var game = $(this).parent().attr('data-id');

获取data-id属性的值。 目前尚不清楚到底出了什么问题。你能提供一些关于你被困的地方的详细信息吗?

答案 3 :(得分:0)

您只需将代码包装在Document ready wrapper中:

<script type="text/javascript">
$(document).ready(function(){
    $(".pickteam").click(function() {
        var game = $(this).parent().data('id');
     $.ajax
        ({ 
            url: 'data.php',
            data: {game: game},
            type: 'post',
        });
    });
});    
</script>