jQuery $ .post()没有向php发送正确的信息

时间:2014-11-07 18:26:36

标签: javascript php jquery mysql jquery-ui-sortable

我刚开始学习jQuery,php等。 我有一个div(scale),图像有两个属性。我想在数据库中编写这些属性。因为他们可以改变(拖放)我想将所有img属性发送到数据库,以便每次将新项目放入div时更新。但是,不是发送div的每个子节点,而是仅发送当前(新添加的)项目(多次)。

的jQuery

stop: function(event, ui) {
       $('#scale').children().each(function(){
                var idd = $(this).attr("data-id");
                var size2 = parseInt($("#scale > img").length);
                var pos = parseInt($(this).index());
                var rat = 1.00-(1/size2*pos);
                $(this).attr('newRating', rat);

                console.log("We send Movie with ID : " + idd + " on Position: " +pos + " to the DB");

                $.post("userInfo.php",
                {
                    id:idd,
                    rating:rat

                },
                function(data, status){
                    console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  $(ui.item).attr('data-id') + " \nwith " + $(ui.item).attr('newRating') );
                }
                );

            });
}

第一个console.log为我提供了正确的ID和评级,但是从.post()调用中获取的数据是错误的。

PHP

        include_once('db.php');

    $id = $_POST['id'];
    $rating =   $_POST['rating'];


    if (mysql_query("INSERT INTO MovieRating SET id = '$id', rating ='$rating' ")){
        echo "Successfully Inserted";
    }
    else{
        echo "Insertion Failed";
}

1 个答案:

答案 0 :(得分:0)

console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  $(ui.item).attr('data-id') + " \nwith " + $(ui.item).attr('newRating') );
                                                                     ^^^^^^^                                   ^^^^^^

每次登录控制台时都在阅读ui.item。您想要当前迭代中的项目。

console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  idd + " \nwith " + rat );