2017-11-28 25 views
0

jsファイルからAjax投稿があります。これはすべて動作しますが、データに変数を設定してこれを画面にエコーすることはできません。CodeIgniterが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); 
    } 
}); 
+0

あなたのget関数を使用して取得します)あなたはGET_INFO(で何かをエコーする必要が – sintakonte

+0

あなたのAjaxコードのPLSを表示 – Vickel

答えて

0

は、Ajaxコードを取得しますクイックアンサー、PHPでこれを使用:

(jQueryのフレームワークを使用して)あなたのAjaxコードで
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(); 
} 

// 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'); 
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); 
    } 
}); 

そして

print_r($_POST);exit 
関連する問題