0

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

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

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

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

        }
    }
    )
});

谁能告诉我出了什么问题或给出其他解决方案。

4

3 回答 3

1

这是我不久前想出的解决方案。

在你的 html 头标签中添加这个。

 <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); 

        }
    }
    )
});
于 2013-02-04T08:28:19.133 回答
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 文件中有这个脚本,那么 ..

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

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

并在 ajax 中使用它

url:base_url+'controllername/functionname',
于 2013-02-04T08:22:17.420 回答
0

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

于 2013-02-04T08:23:37.137 回答