Jquery .ajax()函数不从codeigniter控制器返回值

时间:2012-07-04 04:59:43

标签: codeigniter jquery codeigniter-2

我有一个网站,我正在努力,我正在尝试向控制器(codeigniter框架)发出ajax请求。我在firebug中看到我的控制器正在接收我的帖子值,但由于某种原因它没有发回回复。我已经将它设置为非常简单,此时没有数据库调用只是为了测试它仍然无法正常工作。有什么想法吗?

以下是我认为的表格:

<div class="purchaseState">
     <input type="text" name="city" id="city" class="grayGrad"/>
</div>      
<div>
     <ul id="cityResults">
          <!-- AJAX results here -->
     </ul>
</div>

这是我的控制器返回值:

function citySearch() { 
     echo '<li>test</li>';
}

这是我的Jquery ajax

//New City Search
$('#city').keyup( function() {

     var city = $('#city').val();

    $.ajax({
         type: "POST",
         url: "page/citySearch",
         data: { city: city },
         }).done(function( data ) {
         $('ul#cityResults').append(data);
    });
});

2 个答案:

答案 0 :(得分:0)

你应该使用ajax success回调:

$('#city').keyup(function() {

 var city = $('#city').val();

    $.ajax({
         type: "POST",
         url: "page/citySearch",
         data: { city: city },
         success: function(data) {
            $('ul#cityResults').append(data);
         } 
    });
});

答案 1 :(得分:0)

请按以下方式更改AJAX功能中的网址。

$('#city').keyup(function() {
var city = $('#city').val();
$.ajax({
     type: "POST",
     url: "<?php echo base_url; ?>page/citySearch",
     data: { city: city },
     success: function(data) {
        $('ul#cityResults').append(data);
     } 
});
});