将ajax数据发布到PHP并返回数据

时间:2011-07-07 20:12:23

标签: php jquery codeigniter post

如何将一些ajax数据发布到控制器功能并将其恢复?因为我想在函数中发布一个整数,并获得另一个整数(对于发布ID的项目的总投票数),并且在成功时我想回应该投票计数。 我不知道如何将“id”发布到控制器功能。请看我的代码:

//post this integet
the_id = $(this).attr('id'); 

        $.ajax({
            type: "POST",
            data: the_id,
            url: "http://localhost/test/index.php/data/count_votes",
            success: function(){
                //the controller function count_votes returns an integer.
                //echo that with the fade in here.

                }
            });

3 个答案:

答案 0 :(得分:17)

 $.ajax({
            type: "POST",
            data: {data:the_id},
            url: "http://localhost/test/index.php/data/count_votes",
            success: function(data){
               //data will contain the vote count echoed by the controller i.e.  
                 "yourVoteCount"
              //then append the result where ever you want like
              $("span#votes_number").html(data); //data will be containing the vote count which you have echoed from the controller

                }
            });
控制器中的

$data = $_POST['data'];  //$data will contain the_id
//do some processing
echo "yourVoteCount";

<强>澄清

我认为你很困惑

{data:the_id}

success:function(data){

data为了您自己的清晰度而不同,您可以将其修改为

success:function(vote_count){
$(span#someId).html(vote_count);

答案 1 :(得分:3)

对于JS,请尝试

data: {id: the_id}
...
success: function(data) {
        alert('the server returned ' + data;
    }

$the_id = intval($_POST['id']);
PHP中的

答案 2 :(得分:3)

那么count_votes看起来像什么?它是一个脚本吗?你想从ajax调用中获取的任何内容都可以使用简单的echo来检索(当然你可以使用JSON或xml,但是对于这个简单的例子,你只需要在count_votes.php中输出一些内容,如:

$id = $_POST['id'];

function getVotes($id){
    // call your database here
    $query = ("SELECT votes FROM poll WHERE ID = $id");
    $result = @mysql_query($query);
    $row = mysql_fetch_row($result);

    return $row->votes;
}
$votes = getVotes($id);
echo $votes;

这只是伪代码,但应该给你一个想法。你从count_votes回复的是你在ajax调用中返回“data”的内容。