利用Ajax实现智能回答的机器人

原创
小哥 2年前 (2023-05-17) 阅读数 38 #大杂烩

目录

一、实现人机交互步骤:

二、本文的源码(对你有帮助就点个赞,谢谢~)


下图是效果( 文章末尾有所有的源代码 ) 一、实现人机交互步骤:

  1. 获取dom元素,创建点击事件/键盘事件
  2. 将我说的话传进ajax服务器中,获取机器人说的话,then()中的数据找到
  3. 创建子节点追加并且渲染数据出来
  4. 每次说完了都滚动到对话框最下面来

① 获取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 =  <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 =  <span>${val}</span></li>
      ipt.value=
      // 滚动到页面最下面
      document.querySelector(ul).scrollTop = document.querySelector(ul).scrollHeight

此时再进行校验下:

二、以上的源码(图片素材不方便传,自己随便定义啦~)





  
  
  
  案例_问答机器人
    
    
    
          
	      
	
  
  




  

小思同学

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门