jQuery AJAX调用PHP控制器

时间:2012-11-15 21:39:34

标签: php jquery html ajax codeigniter

我通过jQuery调用控制器(Codeigniter)。我的dataString变量包含一个简单的字符串,我试图将其传递给我的控制器,因此我可以将它传递给模型。但是,我收到一个错误,表明我的$ test_var未定义。我做错了什么?

$('a.test').click(function (event) {


    dataString = $(this).attr('name'); 
        $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:dataString,
        success:function (data) {
        alert('test');
        }

    });
    event.preventDefault();
});

控制器


  

$ test_var = $ this-&gt; input-&gt; post('dataString');

3 个答案:

答案 0 :(得分:3)

尝试使用name = value对:

$('a.test').click(function (event) {


    dataString = $(this).attr('name'); 
        $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:'dataString='+dataString,
        success:function (data) {
        alert('test');
        }

    });
    event.preventDefault();
});

答案 1 :(得分:1)

你也可以这样做,这是一种替代语法

$('a.test').click(function (event) {
    dataString = $(this).attr('name'); 
    $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:{'dataString':dataString},
        success:function (data) {
        alert('test');
        }
    });
    event.preventDefault();
});
控制器中的

$test_var= $this->input->post('dataString');

或者就像在香草php中一样

$test_var = $_POST['dataString'];

答案 2 :(得分:0)

使用像这样的数据选项           数据:{name:“John”,location:“Boston”}           有关详情,请查看http://api.jquery.com/jQuery.ajax/