如何将我的控制器/功能集成到jquery

时间:2013-02-04 08:17:55

标签: jquery codeigniter

我有这样的jquery,但它似乎无法读取控制器/函数

$('#submit').click(function(){

    $.ajax(
    {
    url:'controller/function',
    type:"POST",
    success:function(data){

         $(".content").load(url); 

        }
    }
    )
});

任何人都可以告诉我什么是错的或给出其他解决方案。

3 个答案:

答案 0 :(得分:1)

这是我前一段时间提出的解决方案。

在你的html head标签中添加此内容。

 <script>
      var site = "<?php echo site_url(); ?>";
 </script>

然后在你的.js文件中你可以这样做:

$('#submit').click(function(){

    $.ajax(
    {
    url:base + 'controller/function',
    type:"POST",
    success:function(data){

         $(".content").load(url); 

        }
    }
    )
});

答案 1 :(得分:0)

使用codeigniter的site_url()函数...

<?php echo site_url('controllername/functionname') ?>
  

上面的示例将返回类似于:http://example.com/index.php/controllername/functionname;

的内容

试试这个

$.ajax(
{
   url:<?php echo site_url('controllername/functionname') ?>,
   type:"POST",
   success:function(data){

     $(".content").load(url); 

    }
}

根据@kolby评论更新

如果你在单独的js文件中有这个脚本..

在头部创建一个全局变量base_url,以便在每个文件中获取此变量。

<head>
....//your stuff
<script>var base_url= <?php echo site_url();  ?></script>
</head>

并在ajax中使用它

url:base_url+'controllername/functionname',

答案 2 :(得分:0)

我相信你使用错误的路径,你有firefox,你可以使用firebug来获得响应,响应代码是什么?如果您使用spring mvc和log4j,您可以将日志级别设置为debug,然后您可以看到您发送给服务器的URL以及它是否匹配?