首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >初始化物化-使用ajax和jquery的api调用自动完成数据集

初始化物化-使用ajax和jquery的api调用自动完成数据集
EN

Stack Overflow用户
提问于 2021-07-21 09:15:34
回答 2查看 77关注 0票数 3

大家早上好,我在一个PHP应用程序中使用materialize.css

我想用API调用初始化自动完成数据。

.autocomplete ()用JSON数组" data ":初始化数据,

这是我用.ajax ({..., url: '/search.php', ... datas})得到的。

但我不能把datas注入.autocomplete ()

我该怎么做呢?

源代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body>
  <form action="">
    <div class="row">
      <div class="col s12">
        <div class="row">
          <div class="input-field col s6">
            <i class="material-icons prefix">title</i>
            <input id="searchOnAPI" name="name" type="text" class="autocomplete" value="{{ item.name }} ">
            <label for="searchOnAPI">{{ siteData('admin.titre') }}</label>
            <ul id="autocomplete-content" class="autocomplete-content"><li><a></a></li></ul>
          </div>
        </div>
      </div>
    </div>
  </form>

  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
  <script>
    $(document).ready(function () {
      $('#searchOnAPI').keyup(function () {
        $('#autocomplete-content').html('');
        let search = $(this).val();

        if (search !== "") {
          $.ajax({
            type: 'GET',
            url: '/search.php',
            data: 'search=' + encodeURIComponent(search),
            success: function (datas) {
            if (datas !== "") {
              $('#searchOnAPI').autocomplete(datas);
            } else {
            document.getElementById('autocomplete-content').innerHTML = '<ul class="autocomplete-content dropdown-content"><li><a class="black-text">{{ siteData('site.search.nodata') }}</a></li></ul>';
            }
          }
          });
        }
      });
    });
  </script>

我认为问题出在这里:

变量数据...

但是我不再理解这个错误了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
success: function (datas) {
   if (datas !== "") {
      $('#searchOnAPI').autocomplete(datas);
   }

搜索页面的代码:和调用API

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

if (isset($_GET['search']) && !empty($_GET['search'])) {
    $search = trim(htmlspecialchars($_GET['search']));

    $curl = curl_init();
        curl_setopt_array($curl, [
            CURLOPT_URL             => "https://api.themoviedb.org/3/search/multi?api_key=". API_KEY ."&language=fr-FR&query=$search",
            CURLOPT_CAINFO          => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR ."cert.tmdb.cer", //api.themoviedb.org
            CURLOPT_RETURNTRANSFER  => true,
            CURLOPT_FOLLOWLOCATION  => true,
            CURLOPT_ENCODING        => "",
            CURLOPT_MAXREDIRS       => 10,
            CURLOPT_TIMEOUT         => 10,
            CURLOPT_HTTP_VERSION    => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST   => "GET"
        ]);

        $response = curl_exec($curl);
        $err = curl_error($curl);


        $response = json_decode($response, true);
        $err = json_decode($err, true);
        $datas = [];

        if (!is_null($err) || $response === null || !isset($response['results'])) {
            $datas[] = ['No Data' => null];
        } else {

            $response = $response['results'];
            for ($i = 0; $i <= 5; $i++) {
                if (isset($response[$i]['title'])) {
                    $datas[] = $response[$i]['title'] ;
                } elseif (isset($response[$i]['name'])) {
                    $datas[] = $response[$i]['name'];
                }
            }
            
            echo json_encode(array_fill_keys(['data'], array_fill_keys($datas, null)), true);
        }

}

下面是以搜索页面的json格式返回的api。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "data": {
    "O Amor Acontece": null,
    "Quem Quer Namorar Com o Agricultor?": null,
    "O'": null,
    "O Clone": null,
    "Hawaï police d'État": null,
    "O Matador": null
  }
}

欢迎任何建议!.EDD

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-24 07:29:12

我发现了错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.ajax({
    type: 'GET',
    url: '/search.php',
    data: 'search=' + encodeURIComponent(search),
    success: function (datas) {

我没有设置dataType ...

dataType:"json",

像这样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.ajax({
    type: 'GET',
    dataType:"json",
    url: '/search.php',
    data: 'search=' + encodeURIComponent(search),
    success: function (datas) {

但一切都能正常工作。

在Jquery上查找自动完成_renderItem不起作用

票数 0
EN

Stack Overflow用户

发布于 2021-07-22 08:57:49

你的PHP代码返回了一个带有'data‘参数的json对象,也许你可以试试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   if (datas !== "") {
      $('#searchOnAPI').autocomplete(datas.data);
   }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68466944

复制
相关文章
Android-FloatingActionButton悬浮按钮基本使用、字体、颜色
这里使用的是:com.getbase.floatingactionbutton.FloatingActionsMenu
圆号本昊
2021/09/24
2.6K0
Android-FloatingActionButton悬浮按钮基本使用、字体、颜色
vue列表点击切换颜色
*HTML代码块* <div class='box' v-for="( item,index) in list" :class='{activeindex==index ? 'box2' :
kirin
2020/09/29
2.4K0
vue列表点击切换颜色
jquery导航选中按钮颜色变化
今天写一个前端页面的小功能,选中某个按钮或者菜单的时候颜色发生变化,以便用户区分自己选中的选项,这也是一种前端日常工作之中优化项。 效果是这样的:
王小婷
2019/07/04
3.8K0
[android] 切换按钮-自定义控件
实现构造方法,传递Context对象,AttributeSet对象,在布局文件中主要使用
唯一Chat
2019/09/10
1.7K0
[android] 切换按钮-自定义控件
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2018/09/19
5.8K0
WPF 修改按钮按下的颜色
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2022/08/04
2.3K0
仅使用HTML和CSS的亮暗模式按钮切换
我的目标之一是使每个工具都可以不使用javascript,以一定程度上简化代码,同时也是个挑战。
鲸落c
2022/11/14
4K0
仅使用HTML和CSS的亮暗模式按钮切换
仅使用HTML和CSS的亮暗模式按钮切换
我的目标之一是使每个工具都可以不使用javascript,以一定程度上简化代码,同时也是个挑战。
海拥
2021/08/23
3.3K0
仅使用HTML和CSS的亮暗模式按钮切换
freemarker文件下,bootstrap 点击按钮,切换按钮上的图标
fa标签在bootstrap封装的原形是:使用一个单<i>并增加对应的CSS类名,例: <i class="fa fa-search"></i>
全栈程序员站长
2022/06/30
3.5K0
css 去色_css按钮点击改变颜色
网站设计师在设计网页时,有时将一块图片设计成灰色,鼠标移上去,图片就有颜色。一般的逻辑是做两张图片,然后在鼠标上做图片切换事件。当然这种方法可以完美是实现,
全栈程序员站长
2022/11/08
3.5K0
关于Android多按钮切换的例子!
1。自定义字符串 Open “res/values/strings.xml” file, add some custom string for toggle buttons.
全栈程序员站长
2022/07/20
1K0
Power BI矩阵数据条颜色切换
Power BI数据条如何实现以下矩阵的颜色变化,奇数偶数列区别开来(或者其它颜色规则)?
wujunmin
2023/09/05
3540
Power BI矩阵数据条颜色切换
手机点击按钮进行切换图片
项目目录 MainActivity.java package top.gaojc.myapplication; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.ButtonBarLayout; import android.content.Intent; import android.os.Bundle; import android.service.autofill.OnClick
是阿超
2021/10/15
3.5K0
缩小自定义导航栏按钮之间的距离 修改导航栏按钮图片的颜色不用系统的颜色
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
conanma
2021/05/11
1.8K0
[android] 切换按钮-自定义控件-拖动效果
重写View的onTouchEvent()方法,传递进来MotionEvent对象
唯一Chat
2019/09/10
1.3K0
点击加载更多

相似问题

“反应”切换“类似”按钮

10

使用jQuery和Ajax切换按钮

17

切换按钮背景颜色

57

切换按钮颜色点击

11

按钮不切换颜色

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文