没啥高大上的...... 大概就是前台监听keyup等事件,比如当按键抬起的时候向后台发送一个请求(当前应该是做了一定的延时处理然后进行发送请求的) 后台返回一个json数据(猜的),前台渲染。 选中后前台强行写在标签栏中(和直接写上去没有什么区别) 一个标签就是一个input 比如三个标签 <input name="tag" value='1'> <input name="tag" value='2'> <input name="tag" value='3'> 这样后台得到的tag是一个list(数组),遍历取其中的东西就能取到输入的标签 当前还要做一定的处理,比如在插入的时候做处理(数据库中有的时候只查询返回tag的id,然后保存起来。 当没有的时候首先在tag表中创建一个tag,然后返回创建的这个tag的id,然后保存起来) 大体上就是这样实现的,当然还可以做一些其他的优化处理~ 总的来说 前台: 主要是DOM操作,当然你用vue等库的话就不需要像jq之类的大量操作DOM,然后AJAX 后台: 前台input的name是相等的时候,后台得到的post数据是一个list,然后遍历做相关处理
没啥高大上的......
大概就是前台监听keyup等事件,比如当按键抬起的时候向后台发送一个请求(当前应该是做了一定的延时处理然后进行发送请求的)
后台返回一个json数据(猜的),前台渲染。
选中后前台强行写在标签栏中(和直接写上去没有什么区别)
一个标签就是一个
input
比如三个标签
这样后台得到的tag是一个list(数组),遍历取其中的东西就能取到输入的标签
当前还要做一定的处理,比如在插入的时候做处理(数据库中有的时候只查询返回tag的id,然后保存起来。 当没有的时候首先在tag表中创建一个tag,然后返回创建的这个tag的id,然后保存起来)
大体上就是这样实现的,当然还可以做一些其他的优化处理~
总的来说
前台: 主要是DOM操作,当然你用vue等库的话就不需要像jq之类的大量操作DOM,然后AJAX
后台: 前台input的name是相等的时候,后台得到的post数据是一个list,然后遍历做相关处理