2014-04-01 37 views
-1

我目前正在開發一個網站,並嚴格使用PHP,經過幾個小時的開發後,我注意到我真的需要執行AJAX查詢。然而,我正在使用CI,並對我如何調用Ajax查詢 - 特別是控制器方法略有困惑。我期待後期使用查詢數據,我發現以下使用jQuery:使用CodeIgniter的Ajax查詢?

$.ajax({ 
    type: "POST", 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

,但如果我有一個控制器稱爲主和方法叫回傳() - 我將如何傳遞迴傳()中的數據?

任何人都可以指出我正確的方向,這將是非常感謝 - 道歉,如果這是非常簡單的說我是新手是輕描淡寫。

+1

你怎麼會通過如果你只是提交一個表單,'postback()'數據? – Quentin

+0

我想我會設置網址爲URL在我的情況下localhost/main/postback 但是我不知道要包含在數據,成功或dataType字段? – TotalNewbie

+0

它們在[jQuery文檔中](http://api.jquery.com/jQuery.ajax/) – Quentin

回答

1

這裏是一個Codeingiter/jQuery函數對,我很久以前寫的不是:

的Javascript:

var BASE_URL = <?php echo base_url(); ?> 
var stuff = ""; 

$('div.get_this').each(function(){ 
    if(stuff){ 
     stuff = stuff + '-'; 
    } 
    stuff = stuff + $(this).html(); 
}); 

$.ajax({ 
    type: "POST", 
    url: BASE_URL+"gate", 
    data: {'data':stuff}, 
    success: function(data){ 
    ... 
    }); 
}); 

笨控制器:

class Gate extends CI_Controller { 

    public function index(){ 

     if(isset($_POST['data'])){ 

      $data = explode('-', $_POST['data']); 
+0

我很困惑你爲什麼分配東西變量? – TotalNewbie

+0

我加入我的例子。這個例子有點愚蠢,但它顯示瞭如何建立你的'東西'字符串 – Hoytman

+0

謝謝,我想我需要閱讀js和發佈請求 – TotalNewbie

0

在Ci u中將使用Ajax作爲URL部分u將添加控制器函數名稱示例var URL =「HOME SITE URL」+「main/post Back」; //這裏main是控制器和post後面是你想要調用的函數。 $ Ajax({type:「POST」,URL:URL,data:{star:3},success:success,data類型:data Type});之後在後臺控制器中使用函數我們使用函數後(){$ variable1 = $ _POST [「star」]; //或$ _GET [「star」] 或$ this-> input-> post('star'); }

0
class MyClass extends MyController { 

    function postBack(){ 
     //dosomething with post data 
     $postdata = $this->input->post(); 
     $somearray = filter_something($postdata); 
     //this is where you return the output to jQuery. you output a string in JSON format 
     echo json_encode($some_array); 
    } 

}