ajax聊天机器人案例 js案例
时间:2026-10-17 06:27:14 来源:烟消火灭网 作者:焦点 阅读:671次
聊天机器人不一定要上大模型。聊天例j例用最原始的机器ajax,也能做出像模像样的人案对话效果。我最近在整理旧项目时翻到一个2018年写的聊天例j例案例,代码不到两百行,机器但交互逻辑完整——输入框、人案发送按钮、聊天例j例消息列表,机器外加一个模拟的人案“服务器响应”。当时没接任何后端,聊天例j例就用JSON文件存了几条固定回复,机器配合setTimeout模拟网络延迟。人案 整个核心就一个函数:`fetch('reply.json')`。聊天例j例用户在输入框敲字,机器点击发送,人案JavaScript捕获内容,append到聊天区域,然后发起ajax请求。请求返回后,把JSON里的某个字段取出来,再append一条新消息。就这么简单。但真正有意思的是,那个案例里我故意让回复内容根据用户输入的关键词来匹配——比如提到“天气”就返回“今天晴,适合出门”,提到“笑话”就返回一条冷笑话。这其实就是一个最简陋的意图识别,用indexOf判断关键词,命中哪个就返回哪条数据。 写这个案例的时候,我犯过一个典型错误:忘记处理连续点击发送按钮的情况。用户狂点三次,三个请求同时发出去,服务器(其实是本地文件)响应顺序不一致,导致消息列表里回复和提问错位。后来加了`loading`状态锁,在请求未返回时禁用发送按钮,问题才解决。这个细节后来成了我面试时爱问的题——很多人写ajax聊天室,十有八九栽在这上面。 还有个容易被忽略的点:滚动条。消息一多,新消息如果出现在视口之外,用户根本看不到。当时我用了`scrollTop = scrollHeight`强制滚到底部,简单粗暴。但现在想想,更优雅的做法是判断用户是否主动向上滚动,如果正在看历史记录,就别打断他。这个案例里没做,算是个遗憾。 代码结构其实很直白。HTML里放一个`
`,一个``,一个`
最新内容
-- 友情链接 --














