Jquery .ajax() 函数不从代码点火器控制器返回值



我有一个我正在处理的网站,我正在尝试向控制器(codeigniter framework)发出 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);
    });
});

你应该使用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);
         } 
    });
});

请按以下方式更改 AJAX 函数中的 url。

$('#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);
     } 
});
});

最新更新