使用ajax Codeigniter从控制器发送值

时间:2015-05-06 09:53:31

标签: javascript php ajax codeigniter

我有这样的javascript

$(document).ready(function(){
    $("input[type='checkbox']").change(function(){
        var menu_id = this.value;
        if(this.checked) var statusvalue = "On";
        else var statusvalue = "Off";
        $.ajax({
            type    : "POST",
            url     : "admin/menu/editstatus",
            data    : "id=" + menu_id + "&value=" + statusvalue,
            success : function(data){
                $("#testing").html(data);
            }
        });
    });
});

和我的控制器命名菜单并具有函数editstatus()

public function editstatus()
{
    $data = "asd";
    echo $data;
}

但是id测试的文本框没有写任何内容

4 个答案:

答案 0 :(得分:1)

更改下面的ajax功能

$(document).ready(function(){
    $("input[type='checkbox']").change(function(){
        var menu_id = this.value;
        if(this.checked)
         {
          var statusvalue = "On";
         } 
        else 
        {
          var statusvalue = "Off";
        }
        $.ajax({
            type    : "POST",
            url     : "<?php echo base_url()?>admin/menu/editstatus",
            data    :{ 
                     id:menu_id,
                     value:statusvalue
                      }
            success : function(data){
               $("#testing").val(data);
            }
        });
    });
});

答案 1 :(得分:0)

您需要使用.val()代替.html()

更正后的代码:

$("#testing").val(data);

bad

http://api.jquery.com/val/

答案 2 :(得分:0)

public function editstatus()
{
    $data = "asd";
    echo json_encode($data);
}

如果$ data是一个数组形式,例如$data=array('name'=>'abd','id'=>'12'),那么, 在Java脚本访问中,如data.name或data.id

答案 3 :(得分:0)

我认为您的网址未找到。请尝试使用基本网址

<?php echo base_url()?>admin/menu/editstatus