利用Ajax实现智能回答的机器人
原创下图是效果( 文章末尾有所有的源代码 )
一、实现人机交互步骤:
- 获取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 = <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
此时再进行校验下:
二、以上的源码(图片素材不方便传,自己随便定义啦~)
案例_问答机器人
小思同学
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除