从jquery调用codeigniter控制器方法

时间:2011-06-30 02:40:26

标签: javascript jquery codeigniter

我想从jquery中调用一个codeigniter控制器方法 截至目前我正在尝试这样的事情,但它没有用,任何人都可以用这个来帮助我

$.ajax({type: "POST", url:"site/controller/method/",

                  success: function(){
                      alert("success");
                  },

                  error: function(xhr, textStatus, error){
                              alert(xhr.statusText);
                              alert(textStatus);
                              alert(error);
                          }

               });

4 个答案:

答案 0 :(得分:3)

我自己使用CI,并且发现在处理AJAX请求时我需要直接指向该文件,如果需要,可以使用它来推送一些变量。

$.ajax({
    type: "POST",
    url: "system/application/views/ajax.php",
    data: "key=value",
    success: function(){ alert("success"); },
    error: function(xhr, textStatus, error){
        alert(xhr.statusText);
        alert(textStatus);
        alert(error);
     }
});

答案 1 :(得分:1)

你的问题很模糊:你有404?你有javascript错误吗?出了什么问题?

如果您遇到404错误,最简单的方法就是在浏览器的位置栏中测试URL:您可以在浏览器位置栏中打开的任何URL都可以复制到javascript中,一定会有效。从浏览器位置栏调用的URL或从jquery postgetajax调用的锚点和URL之间的代码点火器方面应该没有区别。

我建议使用Firebug来查看引擎盖下的活动:它可能会让您更容易查明这些错误。

答案 2 :(得分:0)

我做了一个名为ajax的控制器,我有我所有的ajax方法。并返回json编码的东西。 jquery stuff:

    $.post("ajax/stuff", function(data){
    alert(data.some_data); // John
 }, "json");
在ajax控制器中

public function stuff()
{
    $response_array = array();
    $response_array['some_data'] = 'lorem ipsum';
    //$response_array['html'] = $this->load->view('popbox_error', $data, true);

    $data['json'] = json_encode($response_array);
    $this->load->view('json_response', $data);
}

json观点:

<?php echo $json;

答案 3 :(得分:0)

试试这个

var base_url ='您的基本网址;

$.post(base_url+"/controller/function", {'param1': x,'param2':y}, function(data){

        if(data.length >0) {

            //do whatever you want

        }
    });