CodeIgniter无法将Ajax数据转换为变量

时间:2017-11-28 21:17:57

标签: php ajax codeigniter

我有一个来自js文件的Ajax帖子。这一切都有效,但我无法将数据设置为变量并将其回显到屏幕。

我想我不知道如何设置类变量?

获取Ajax代码:

public function get_info()
{
    // $test = $this->input->post();
    var_dump($this->input->post());  
    $original_property_text = $this->input->post('original_property_text');
    // set_ajax($original_property_text);
    //$new_property_text = $this->input->post('new_property_text');

    //return $test;
}   

类变量和构造函数:

class Users extends CI_Controller{

    // gobal vars
    var $new_property_text = '';
    var $original_property_text = '';
    var $changes = array();

    function  __construct() {
        parent::__construct();
        //$changes[] = $this->get_info();
    }

***编辑*****

ajax代码:

$.ajax({
    url: base_url + 'users/get_info',
    type: 'POST',
    data: {
        'original_property_text': $original_property_text,
        'new_property_text': $new_property_text
    },
    success: function(data){
        alert(data); // for testing
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert(textStatus, errorThrown);
    }
});

2 个答案:

答案 0 :(得分:0)

快速回答,在PHP中使用它:

public function get_info()
{
    // better to use json when you need to return array
    header('Content-Type: application/json');
    echo json_encode( $this->input->post() );
    exit();
}   

在你的ajax代码中(使用jQuery框架):

// call your controller in ajax
$.post('yourUrlHere', $('#yourForm').serialize(), 
    function(data) {
        console.log(data);
        // you manipulate json, so you can use : alert(data.property);' 
    }, 'json');

答案 1 :(得分:0)

'$'定义变量,所以将你的php值转换为javascript对象。

data: {original_property_text: '<?=$original_property_text?>', new_property_text: '<?=$new_property_text?>'},

或者,

var original_property_text = '<?=$original_property_text?>';
var new_property_text = '<?=$new_property_text?>';
var base_url = '<?=base_url();?>';

$.ajax({
    url: base_url + 'users/get_info',
    type: 'POST',
    data: {original_property_text: original_property_text, new_property_text: new_property_text},
    success: function(data){
        alert(data); // for testing
    },
    error: function(jqXHR, textStatus, errorThrown){
        alert(textStatus, errorThrown);
    }
});

使用你的get函数

print_r($_POST);exit