【问题标题】:Unable to locate controller while passing query string传递查询字符串时无法找到控制器
【发布时间】:2013-09-01 05:40:11
【问题描述】:

我正在准备一个 POC 以使用 IMDB auto complete。我面临一个奇怪的问题。当我输入任何关键字时,控制器不会被调用。这是javascript和控制器的sn-ps。

index.html

<script type="text/javascript">
$(function(){

    $("#q").focus();
    $("#q").autocomplete({

        minLength: 0,
        delay:5,
        source: "suggest",
        focus: function( event, ui ) {
            $(this).val( ui.item.value );
            return false;
        },
        select: function( event, ui ) {
            $(this).val( ui.item.value );
            return false;
        }
    }).data("uiAutocomplete")._renderItem = function( ul, item ) {
        //code to render autocomplete list
    };
});
</script>

应用程序/控制器/suggest.php

<?php
    $term = trim(strtolower($_REQUEST['term']));
    echo $term;
?>

我的网址是 /movies/index.php/suggest?term=g

谁能指导我如何解决这个问题?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    尝试从 php 返回一个 json 字符串:

    $arr = array(
       0 => array(
           'label' => 'item 001',
           'value' => 1
       ),
       1 => array(
           'label' => 'item 002',
           'value' => 2
       ),
       2 => array(
           'label' => 'item 003',
           'value' => 3
       ),
    );
    
    echo json_encode($arr);
    

    【讨论】:

      【解决方案2】:

      在源代码中,通过在调用脚本之前添加 base_url 在 javascript 中的 base_url 中定义一个全局变量来为建议控制器提供正确的路径

      <script>
       var base_url = "<?=base_url()?>";
      </script>
      
      source: base_url+"suggest",
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-11
        • 1970-01-01
        • 2014-05-11
        相关资源
        最近更新 更多