在代码点火器中将$ .post从JQuery发送到控制器并加载结果

时间:2011-04-16 12:44:44

标签: php jquery ajax codeigniter

我想从HTML发送一个帖子,其中包含有关某个表单的信息到代码点火器中的控制器。我希望控制器处理信息并在div中加载某个页面。这是我的代码。我想我应该使用像.html之类的东西?我不太确定,我不明白

控制器

function search_friend(){

    //this function gets text from text field and searches for a user and returns all users similar to this dude
    // $this->input->post($searchFriendForm);
    // $this->input->post($searchFriendText);

    $this->load->model('userProfile_m');

    $people = $this->userProfile_m->get_user_by_name($this->input->post($searchFriendText));

    $this->load->view('addFriendSearchResult',$people);

    }

html中的表单

<form method="post" action="" name="searchFriendForm" id="add-friend-search">
<input type="text"/ name="searchFriendText">
<input type="button" class="small green button" id="add-friend-button" />


</form>

jquery函数

$("#add-friend-button").click(function(){ //start click



        $.post("<?php echo site_url('userProfile/search_friend'); ?>", $("#add-friend-search").serialize());

        $("#insert-activity").load("<?php echo base_url().''?>system/application/views/addFriendSearchResult.php");

        $("#add-friend-search").slideUp("slow",function(){});

    }); //end click

1 个答案:

答案 0 :(得分:1)

首先,在您的控制器中更改此行(您需要在此处传递字段的字符串名称):

$people = $this->userProfile_m->get_user_by_name($this->input->post('searchFriendText'));

接下来,将jQuery更改为:

$("#add-friend-button").click(function(){ //start click
    $.post("<?php echo site_url('userProfile/search_friend'); ?>", 
        $("#add-friend-search").serialize(),
        function(data){
           $("#insert-activity").html(data);
        });

    $("#add-friend-search").slideUp("slow",function(){});
}); //end click

你不能直接打电话给你的观点,而你也不需要。帖子应该返回数据,您可以将其写入#insert-activity元素。