利用Ajax实现智能回答的机器人示例代码

下图是效果(文章末尾有所有的源代码) 

利用Ajax实现智能回答的机器人示例代码_第1张图片

一、实现人机交互步骤:

 获取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)

利用Ajax实现智能回答的机器人示例代码_第2张图片

  ③创建子节点追加并且渲染数据出来

 li.className = 'left_word'
        document.querySelector('#talk_list').appendChild(li)
        li.innerHTML = ` ${words}`

④ 每次说完了都滚动到对话框最下面来

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

此时再进行校验下:

利用Ajax实现智能回答的机器人示例代码_第3张图片

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



 

  
  
  
  案例_问答机器人
  
  
 

 

  

小思同学

icon

到此这篇关于利用Ajax实现智能回答的机器人的文章就介绍到这了,更多相关Ajax机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(利用Ajax实现智能回答的机器人示例代码)