繁体   English   中英

从 jquery 调用 codeigniter controller 方法

[英]calling a codeigniter controller method from jquery

我想从 jquery 中调用 codeigniter controller 方法到目前为止我正在尝试这样的事情,但它不起作用任何人都可以帮助我

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

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

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

               });

我自己使用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);
     }
});

你的问题很模糊:你得到了 404 吗? 您是否收到 javascript 错误? 出了什么问题?

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

我建议使用Firebug来查看幕后发生的活动:它可能会使您更容易查明这些错误。

尝试这个

var base_url ='你的基础 url;

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

        if(data.length >0) {

            //do whatever you want

        }
    });

我制作了一个名为 ajax 的 controller,其中我有我所有的 axaj 方法。 并返回 json 编码的东西。

jquery 东西:

    $.post("ajax/stuff", function(data){
    alert(data.some_data); // John
 }, "json");

在 ajax controller 中:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM