【问题标题】:JQuery UI Autocomplete WordpressJQuery UI 自动完成 Wordpress
【发布时间】:2017-05-24 14:58:22
【问题描述】:

我想在昵称搜索栏中添加自动完成功能。我不明白为什么它不起作用。我的代码正确吗?

在我的文件 liste.php 中

 global $wpdb;
    $name = $_POST['code_postal'];
    $sql = $wpdb->get_results("SELECT * FROM membres WHERE pseudo LIKE '$name%' ");

    $titles = array();
    foreach($sql as $key=> $value){
        echo $value->pseudo;
    }

    echo json_encode($titles); //encode into JSON format and output

在我的 global.js 中

$('#recherche').autocomplete({
    source: function(name, response) {
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'wp-content/themes/ARLIANE/liste.php',
            data: 'action=get_listing_names&name='+name,
            success: function(data) {
                response(data);
            }
        });
    }
});

在我的 index.php 中

<form>
  <input type="text" name="term" id="recherche"/>
</form>

【问题讨论】:

  • liste.php [...] 成员 [...] 中的错字?
  • 对不起,我不明白...
  • 我猜你想访问表“成员”,但正在尝试“成员”,这将是一个拼写错误
  • 不,这是好的“成员”。我是法国人;)

标签: javascript php jquery wordpress jquery-ui


【解决方案1】:

您可以尝试将 ajax 错误记录到控制台以获取有关该问题的更多信息,如下所示:

        $.ajax({
        type: 'POST',
        dataType: 'json',
        url: 'wp-content/themes/ARLIANE/liste.php',
        data: 'action=get_listing_names&name='+name,
        success: function(data) {
            response(data);
        },
       error: function(xhr, textStatus, error){
       console.log(xhr.statusText);
       console.log(textStatus);
       console.log(error);
      }
      });

【讨论】:

    【解决方案2】:

    尝试通过添加页面来更改 js 代码中的 URL,并将文件 liste.php 关联为自定义页面类型,然后添加页面 URL:

    url: '<?php echo get_permalink(page_id); ?>',
    

    【讨论】:

      【解决方案3】:

      如果我对 liset.php 进行包含,这会很好地返回一个表 json。 但是当我进行 ajax 调用时,它会返回错误 500。

      我认为问题来自带有自动完成功能的 jquery 调用。

      【讨论】:

        猜你喜欢
        • 2015-08-05
        • 2011-07-23
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 2011-05-31
        相关资源
        最近更新 更多