セットアップ;あなたのapplication/config/database.php
のconfigureで
データベース接続で
ごapplication/config/autoload.php
データベースライブラリは、データベースのセットアップ
モデルの詳細は
hereを有効になっていることを確認。
application/models /には、データベースにアクセスするための関数thing_model.php
を作成します。データベース
コントローラを照会するための詳細は
hereを呼び出したときに、この例public function get_data()
のために、この機能は、データベースJSONデータの出力を生成します。
application/controllers/thing.php
ajax関数を作成します。いただきました!ハプニング
public function ajax()
{
if ($this->session->loggedin && $this->input->is_ajax_request()){
$action = $this->uri->segment(3);
if ($action === "pull"){
$forms = $this->thing_model->get_data();
//actions here
}
if ($action === "test"){
//actions here
echo "hello world!";
}
} else {
redirect('/homepage');
}
}
。
if ($this->session->loggedin && $this->input->is_ajax_request()){
ここでは、セキュリティのためにチェックしていると、要求は自然の中で
$action = $this->uri->segment(3);
アヤックスであることをactioningのURIからセグメントをつかんれます。例えば、
。あなたのアヤックスはhttp://example.org/thing/ajax/pull
アヤックスに呼び出された場合
if ($action === "pull"){
http://example.org/controller/ajaxmethod/this_action
はデータを返しています。あなたの.jsでjQueryのJSONアヤックス(ビューのフッターに.jsファイルを読み込む)をファイルに
$('#buttonAction').click(function() {
//Jquery Ajax code here
$.ajax({
method: "POST",
dataType: "json",
url: global_path + "thing/ajax/pull",
data: { user_id: "1", data: "ABC" }
})
.done(function(data) {
//process your JSON data here
});
});
起こっていただきました。
jqueryのAjaxのデータ型see here
url: global_path + "thing/ajax/pull",
はプルアクションを使用してコントローラのアヤックス()メソッドを呼び出します。
注意:
コントローラの__constructには、厳密な操作と望ましくない不明な点について、あなたの関数へのajax要求だけを保護するためのテストをここに置くことをお勧めします。
あなたのアプリケーションに合っていれば、別のコントローラにajaxを置くことができます。しかし、これは重複した小切手などでセキュリティの頭痛を引き起こす可能性があります。
私は、コールバックURLも単一のスクリプトではなくルートとして扱うべきだと思います。 –
あなたは正しいです!なぜ私はそれについて考えなかったのかわからない...たぶん私は難しさを探していた。ありがとう@u_mulder – cusmar
これに対して通常のコントローラを使用していないのはなぜですか? – charlietfl