jQuery GET正在为我做准备。使用CodeIgniter。它返回视图的源代码而不是一个值

时间:2013-12-15 10:11:05

标签: php jquery ajax codeigniter

我正在尝试测试jQuery GET方法,但我得到的结果是完全疯了。我想要做的就是从我的控制器用jQuery调用一个函数,然后在我的视图中显示一个div中的回显值。下面是我的代码,最后是我遇到的问题的细分。

控制器

public function generate_suggestions2() {

        echo "James";   
}

查看 views\suggestions_v.php

<body>
//This DIV is used a button to call the jQuery function
<div id="next_btn">
   <p>Click here to display a name</p>         
</div> 

//In this div the value retrieved by the jQuery should be displayed
<div id="listB"></div>

//This is the function that calls the function within my controller
<script type="text/javascript">

    $( "#next_btn" ).click(function() {

        $.get("core/generate_suggestions2/",
        function(data) {

            $( "#listB" ).html(data);
        });
    });
</script> //For some reason I need to put the script at the end of the body. When it's in the head nothing happens when I click the button. Also something I do not understand.

</body>

现在的问题是,当我点击DIV next_btn时,它不会在DIV James中显示listB

而是使用我的主视图listB中的源代码填充DIV views\core_v.php 我不知道这怎么可能是遥远的,所以如果你有一个线索,或者更好,你知道我做错了什么,请告诉我。我试图在过去的三天里让这个工作没有任何成功或进展:(

2 个答案:

答案 0 :(得分:0)

这条线很奇怪:

</script><script type="text/javascript">

尝试删除第一个结束标记'script'。

答案 1 :(得分:0)

尝试在您的视图中使用此代码

<script type="text/javascript">
    "$( "#next_btn" ).click(function() {

        $.get("<?php echo site_url().'/core/generate_suggestions2';?>",
        function(data) {

            $( "#listB" ).html(data);
        });
    });"
</script>

同样删除此阻止评论之前的</script>标记。

关于此评论,您有:

//For some reason I need to put the script at the end of the body. When it's in the head nothing happens when I click the button. Also something I do not understand.

这是因为DOM尚未完全加载,当浏览器加载了您所指的DOM时,Javascript会执行其代码。因此,您必须将其放在要编辑的DOM元素之后,就像现在一样,或者您可以使用$(document).ready(function(){ } );。 详细了解here