3

我通过 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->input->post('dataString');

4

3 回答 3

3

尝试使用名称=值对:

$('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();
});
于 2012-11-15T21:41:18.633 回答
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'];
于 2012-11-16T08:42:24.407 回答
0

使用像这样的数据数据选项:{名称:“约翰”,位置:“波士顿”}更多细节请检查http://api.jquery.com/jQuery.ajax/

于 2012-11-24T19:22:11.283 回答