【问题标题】:Codeigniter Preg_match errorCodeigniter Preg_match 错误
【发布时间】:2014-12-18 16:44:27
【问题描述】:

我正在尝试实现一个搜索功能,当用户在搜索框中输入字符时,该功能将使用 ajax 查询数据库。这将显示数据库中以用户输入的字符开头的所有数据。

【问题讨论】:

  • 759号是哪一行?
  • @MikeofSST $_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION);
  • 这看起来与this question 非常相似,甚至到行号。是同一个问题吗?

标签: php ajax codeigniter preg-match


【解决方案1】:

我认为这条线,是你的问题;

$this->load->view(array('words' => $wordlist));

您正在尝试加载视图数组。

视图函数中的第一个参数是您尝试加载的文件的名称。像这样;

$this->load->view('file_name', $data, true/false)

https://ellislab.com/codeigniter/user-guide/libraries/loader.html

【讨论】:

  • 当我这样做时,它会在原始视图中加载一个全新的视图。有什么办法可以将数组('words' => $wordlist)显示到同一页面上?
  • 在 CodeIgniter 中没有直接称为布局的东西。因此,作为解决方法,您必须将布局模板划分为多个视图。例如,$this->load->view('header');$this->load->view('body');$this->load->view('footer');
  • 根据您的问题,我认为您希望将单词列表呈现为 AJAX 输出,因此您可以创建一个空视图文件,将其命名为 ajax.php,其中一个变量编码如下:echo ajax_encode($words); 和然后在你的控制器中$this->load->view('ajax',array('words' => $wordlist));@m93
  • @sємsєм 我已经按照你说的做了,但我现在收到这个错误。致命错误:调用未定义函数 ajax_encode()
  • @m93 抱歉是json_encode
【解决方案2】:

如果你想要一个特定类型的数据并且简单出来,你必须使用不带$this->load->view的头部响应,就像这样:

header('Content-type: application/json');
echo json_encode(array('words' => $wordlist));

使用它,你可以很容易地用ajax获取数据

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多