jQuery Ajax PHP更好的解决方案


jQuery Ajax PHP Better Solution

我需要一个更好的解决方案,然后这,我使用<span id="<?php echo $row['art_id']" name="<?php echo $row['art_featured']"></span>从我的数据库字段获取值,所以我可以通过jQuery Ajax发送它们,但必须有一个更好的方法来使用我的数据库中的值,并将它们存储在一个jQuery VAR然后这,任何建议将是非常感谢提前!

jQuery

        $(document).ready(function(){
    $(".star").click(function(){
        var art_id = $(this).attr('id');
        var art_featured = $(this).attr('name');
        $.ajax({
        type: "POST",
        data: {art_id:art_id,art_featured:art_featured},
        url: "ajax-feature.php",
        success: function(data){
            if(data != false) {
            } 
            else {
            }  
        }
        });
    });

});PHP

    <section class="row">
<?php
$sql_categories = "SELECT art_id, art_featured FROM app_articles"; 
    if($result = query($sql_categories)){
        $list = array();
        while($data = mysqli_fetch_assoc($result)){
            array_push($list, $data);
        }
        foreach($list as $i => $row){ 
        ?>
            <div class="row">
                <div class="column one">
                     <span id="<?php echo $row['art_id']; ?>" class="icon-small star"></span>
                </div>
            </div>
        <?php
        }
    }
    else {
        echo "FAIL";
    }
?>
</section>

那么我能在ajax data:中使用数据对象吗?

我更喜欢这样使用:

<span 
     data-object='{"art_id":<?=$row['art_id']?>,
                  "art_featured":"<?=$row['art_featured']?>"}'
     onclick="ajaxFunction($(this))"
>
</span>
function ajaxFunction(o){
      var data = o.data('object');
      /* you can send:
       * data.art_id
       * data.art_featured
       */
}
http://jsfiddle.net/M4AFQ/1/

后续问题更新:

$(".star").click(function(){
      var data = $(this).data('object');
      /* you can send:
       * data.art_id
       * data.art_featured
       */
  });