日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利用Ajax實現智能回答的機器人示例代碼

瀏覽:290日期:2022-06-12 08:02:33
目錄
  • 一、實現人機交互步驟:
  • 二、以上的源碼(圖片素材不方便傳,自己隨便定義啦~)

下圖是效果(文章末尾有所有的源代碼)

一、實現人機交互步驟:

獲取dom元素,創建點擊事件/鍵盤事件 將我說的話傳進ajax服務器中,獲取機器人說的話,then()中的數據找到 創建子節點追加并且渲染數據出來 每次說完了都滾動到對話框最下面來

① 獲取dom元素,創建點擊事件/鍵盤事件

    const btn = document.querySelector("#btnSend")    const ipt = document.querySelector("#ipt")    ipt.addEventListener("keyup", function (e) {      if (e.key === "Enter") {btn.click()      }    })    btn.addEventListener("click", () => {      const val = ipt.value.trim()      console.log(val);

②將我說的話傳進ajax服務器中

 axios.get("http://ajax-api.itheima.net/api/robot",{ params: { spoken: val}}).then(res => {console.log(res);//res本質是服務器響應的值console.log(res.data.data.info.text);const words = res.data.data.info.text

這是服務器響應數據返回的值所在的位置(res.data.data.info.text)

③創建子節點追加并且渲染數據出來

 li.className = "left_word"document.querySelector("#talk_list").appendChild(li)li.innerHTML = `<img src="lib/img/person01.png" /> <span>${words}</span></li>`

④ 每次說完了都滾動到對話框最下面來

document.querySelector("ul").scrollTop = document.querySelector("ul").scrollHeight

以上這是傳入Ajax發送的數據渲染,我們發的val同理渲染

      // 自己發的      const li = document.createElement("li")      li.className = "right_word"      document.querySelector("#talk_list").appendChild(li)      li.innerHTML = `<img src="lib/img/person02.png" /> <span>${val}</span></li>`      ipt.value=""      // 滾動到頁面最下面      document.querySelector("ul").scrollTop = document.querySelector("ul").scrollHeight

此時再進行校驗下:

二、以上的源碼(圖片素材不方便傳,自己隨便定義啦~)

<!DOCTYPE html><html lang="en"> <head>  <meta charset="UTF-8" />  <meta name="viewport" content="width=device-width, initial-scale=1.0" />  <meta http-equiv="X-UA-Compatible" content="ie=edge" />  <title>案例_問答機器人</title>  <link rel="stylesheet"  rel="external nofollow"  />  <style>    body {      margin: 0;      font-family: "Microsoft YaHei", sans-serif;    }     .wrap {      position: absolute;      width: 100%;      height: 100%;      overflow: hidden;    }     .header {      height: 55px;      background: linear-gradient(90deg, rgba(246, 60, 47, 0.6), rgba(128, 58, 242, 0.6));      overflow: hidden;    }     .header h3 {      color: #faf3fc;      line-height: 55px;      font-weight: normal;      float: left;      letter-spacing: 2px;      margin-left: 25px;      font-size: 18px;      text-shadow: 0px 0px 5px #944846;    }     .header img {      float: right;      margin: 7px 25px 0 0;      border-radius: 20px;      box-shadow: 0 0 5px #f7f2fe;    }     .main {      position: absolute;      left: 0;      right: 0;      top: 55px;      bottom: 55px;      background-color: #f4f3f3;      box-sizing: border-box;      overflow: hidden;    }     .talk_list {      width: 100%;      height: 100%;      overflow-y: auto;    }     .talk_list li {      overflow: hidden;      margin: 20px 0px 30px;      display: flex;    }     .talk_list .left_word {      justify-content: flex-start;    }     .talk_list .left_word img {      margin-left: 20px;      width: 44px;      height: 44px;    }     .talk_list .left_word span {      background-color: #fe9697;      padding: 10px 15px;      border-radius: 12px;      font-size: 16px;      color: #fff;      margin-left: 15px;      margin-right: 20px;      position: relative;      line-height: 24px;    }     .talk_list .left_word span:before {      content: "";      position: absolute;      left: -8px;      top: 12px;      width: 13px;      height: 12px;      background: url("../day01/lib/img/corner01.png") no-repeat;    }     .talk_list .right_word {      justify-content: flex-end;    }     .talk_list .right_word img {      margin-right: 20px;      width: 44px;      height: 44px;    }     .talk_list .right_word span {      background-color: #fff;      padding: 10px 15px;      border-radius: 12px;      font-size: 16px;      color: #000;      margin-right: 15px;      margin-left: 20px;      position: relative;      line-height: 24px;    }     .talk_list .right_word span:before {      content: "";      position: absolute;      right: -8px;      top: 12px;      width: 13px;      height: 12px;      background: url("../day01/lib/img/corner02.png") no-repeat;    }     .footer {      width: 100%;      height: 55px;      left: 0px;      bottom: 0px;      background-color: #fff;      position: absolute;      display: flex;      align-items: center;      padding: 0 10px;      box-sizing: border-box;    }     .input_txt {      height: 37px;      border: 0px;      background-color: #f4f3f3;      border-radius: 8px;      padding: 0px;      margin: 0 10px;      outline: none;      text-indent: 15px;      flex: 1;    }     .input_sub {      width: 70px;      height: 37px;      border: 0px;      background-color: #fe9697;      margin: 0;      border-radius: 8px;      padding: 0px;      outline: none;      color: #fff;      cursor: pointer;    }  </style> </head> <body>  <div>    <!-- 頭部 Header 區域 -->    <div>      <h3>小思同學</h3>      <img src="lib/img/person01.png" />    </div>    <!-- 中間 聊天內容區域 -->    <div>      <ul id="talk_list"><!-- 機器人 --> <!-- 我 -->      </ul>    </div>    <!-- 底部 消息編輯區域 -->    <div>      <img src="lib/img/person02.png" />      <input type="text" placeholder="說的什么吧..." id="ipt" />      <input type="button" value="發 送" id="btnSend" />    </div>  </div>  <script src="https://cdn.jsdelivr.net/npm/axios@0.27.2/dist/axios.min.js"></script>  <script>     /*     實現人機交互步驟    1.溝通:通過創建節點的方法獲取我說的話并渲染出來    2.將我說的話傳進ajax服務器中    3.獲取機器人說的話并且渲染出來    4.每次說完了都滾動到對話框最下面來    */     const btn = document.querySelector("#btnSend")    const ipt = document.querySelector("#ipt")    ipt.addEventListener("keyup", function (e) {      if (e.key === "Enter") {btn.click()      }    })    btn.addEventListener("click", () => {      const val = ipt.value.trim()      console.log(val);      axios.get("http://ajax-api.itheima.net/api/robot",{ params: { spoken: val}}).then(res => {console.log(res);//res本質是服務器響應的值console.log(res.data.data.info.text);const words = res.data.data.info.textconst li = document.createElement("li")li.className = "left_word"document.querySelector("#talk_list").appendChild(li)li.innerHTML = `<img src="lib/img/person01.png" /> <span>${words}</span></li>`// 滾動到頁面最下面document.querySelector("ul").scrollTop = document.querySelector("ul").scrollHeight      })       // 自己發的      const li = document.createElement("li")      li.className = "right_word"      document.querySelector("#talk_list").appendChild(li)      li.innerHTML = `<img src="lib/img/person02.png" /> <span>${val}</span></li>`      ipt.value=""      // 滾動到頁面最下面      document.querySelector("ul").scrollTop = document.querySelector("ul").scrollHeight     })  </script></body> </html>

到此這篇關于利用Ajax實現智能回答的機器人的文章就介紹到這了,更多相關Ajax機器人內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Ajax
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩在线精品一区二区三区激情综合| 国产高潮在线| 欧美一区二区三区高清视频| 高清日韩中文字幕| 精品国产美女a久久9999| 老司机精品在线| 国产一区二区三区四区| 精品免费av一区二区三区| 国产91欧美| 蜜桃精品在线| 欧美日韩视频一区二区三区| 亚洲欧美不卡| 久久精品青草| 午夜国产一区二区| 老牛国产精品一区的观看方式| 国产亚洲精品自拍| 久久亚洲图片| 青草综合视频| 久久精品国内一区二区三区| 在线看片福利| 激情五月色综合国产精品| 红桃视频国产一区| 日韩国产一二三区| 国产精品v亚洲精品v日韩精品| 精品网站999| 午夜精品久久久久久久久久蜜桃| 欧美日韩精品免费观看视频完整| 亚洲二区免费| 鲁大师影院一区二区三区| 伊人www22综合色| 国产三级一区| 黑人精品一区| 亚洲美洲欧洲综合国产一区| 亚州欧美在线| 精品一区二区三区亚洲| 久久蜜桃精品| 亚洲综合专区| 久久精品国产亚洲aⅴ| 久久久久午夜电影| 亚洲精品高潮| 国产aa精品| 男女精品网站| 国产探花在线精品一区二区| 成人综合一区| 丝袜亚洲精品中文字幕一区| 国产精品一区亚洲| 亚洲一级少妇| 免费久久精品视频| 国产精品高清一区二区| 色网在线免费观看| 亚洲丝袜啪啪| 91亚洲国产高清| 亚洲一区二区三区无吗| 久久精品一本| 水野朝阳av一区二区三区| 久久精品天堂| 老司机久久99久久精品播放免费| 日韩av影院| 成人片免费看| 亚洲欧洲专区| 日韩免费高清| 欧美天堂一区二区| 久久婷婷亚洲| 国产精品视频一区二区三区| 久久婷婷久久| 国产精品夜夜夜| 九九久久电影| 黄色欧美在线| 综合国产视频| 精品免费av在线| 欧美亚洲人成在线| 精品一区在线| 激情中国色综合| 亚洲一级大片| 久久婷婷丁香| 欧美国产极品| 一区二区三区国产在线| 久久婷婷亚洲| 老司机精品视频在线播放| 先锋亚洲精品| 热三久草你在线| 国产日韩一区二区三免费高清 | 精品一区二区三区中文字幕在线| 五月婷婷六月综合| 免费亚洲一区| 蜜臀久久99精品久久久久久9| 在线手机中文字幕| 国产情侣一区在线| 日韩影院在线观看| 久久久夜精品| 精品国产精品国产偷麻豆| 日韩精品欧美成人高清一区二区| 欧美粗暴jizz性欧美20| 久久不卡日韩美女| 日本在线不卡视频一二三区| 亚洲国产影院| 高潮一区二区| 久久中文欧美| 欧美日本不卡| 中文欧美日韩| 日韩精品免费一区二区三区| 国产精品xxx| 日韩不卡在线观看日韩不卡视频| 欧美日韩免费观看一区=区三区 | 欧美片第1页综合| 久久亚洲视频| 激情婷婷综合| 狠狠躁少妇一区二区三区| 国产日产精品_国产精品毛片| 水野朝阳av一区二区三区| 蜜桃视频欧美| 99久久精品网| 国产91在线播放精品| 国产情侣一区在线| 亚洲人成网站在线在线观看| 欧美搞黄网站| 啪啪国产精品| 蜜桃av.网站在线观看| 久久精品国产久精国产爱| 国产三级一区| 欧美精品国产| 久久国产乱子精品免费女| 亚洲3区在线| 免费视频最近日韩| 免费人成在线不卡| 蜜桃传媒麻豆第一区在线观看| 婷婷中文字幕一区| 久久高清免费| 日韩一区电影| 日韩av首页| 国产伊人精品| 99视频一区| 男女性色大片免费观看一区二区| 爽爽淫人综合网网站| 亚洲一区国产| 亚洲三级国产| 国产精一区二区| 韩日一区二区| 色偷偷色偷偷色偷偷在线视频| 三上悠亚国产精品一区二区三区| 九九精品调教| 在线国产一区二区| 中国女人久久久| 丝袜美腿高跟呻吟高潮一区| 亚洲人成在线影院| 国产乱子精品一区二区在线观看| 国产精品一区二区中文字幕| 久久av影院| 中文字幕在线看片| 欧美日韩国产免费观看视频| 亚洲一区中文| 日韩有码av| 国产精品一国产精品k频道56| 久久在线91| 日韩高清不卡| 麻豆91精品| 国产精品一线| 国产白浆在线免费观看| 欧美影院三区| 亚洲理论在线| 毛片不卡一区二区| 91亚洲国产| 精品在线91| 日韩精品成人| 精品日韩一区| 悠悠资源网久久精品| 亚州av一区| 成人亚洲一区二区| 国产精品毛片在线| 久久精品97| 日韩一区亚洲二区| 视频在线观看91| 国产精品视频一区二区三区四蜜臂 | 欧美日韩三区| 蜜臀精品一区二区三区在线观看| 日本色综合中文字幕| 欧美激情另类| 日韩在线卡一卡二| 精品国产一区二区三区2021| 亚洲婷婷在线| 欧美视频精品全部免费观看| 吉吉日韩欧美| 一区二区精彩视频| 国产成人在线中文字幕| 亚洲香蕉网站| 国产午夜一区| 欧美福利在线| 国产精品mv在线观看| 在线观看精品| 日韩精品免费一区二区夜夜嗨| 国产精品99一区二区三区| 欧美一区=区| 国产成年精品| 综合五月婷婷| 日韩天堂在线| 国产日韩欧美三区| 红桃视频国产一区| 欧美极品中文字幕| 99国产精品久久久久久久成人热| 国产日韩欧美一区二区三区在线观看|