报错No mapping found for HTTP request with URI、实现蒙纱,弹出对话框利用load 、编码问题、 jQ的data绑定数据等等遇到的问题

    xiaoxiao2021-03-26  45

    写完报错No mapping found for HTTP request with URI

    当时是写了一个请求,但是报错404.什么都看了。就是没错。百度解决

    解决:Spring配置文件中添加(要Spring3.0.5以上才可以) <mvc:default-servlet-handler/> 因为走的是DispatcherServlet。设置的*.do 找不到就会报404错误。

    为什么没有找到。。。。只好添加这个实现

    登录成功,进入主界面,显示登录用户的笔记本列表

    大概流程: 客户端处理 客户端:主要是因为login.html登录成功了后设置了cookie。在cookie里面添加了uid。存在了浏览器中。然后让其跳转到edit.html页面。edit.html页面开始就先获取cookie中的uid值。然后向服务器请求。通过userId来获取data数据 a.发请求 主界面发送请求 $(function(){})//页面载入执行发送请求 提交数据 :用户ID 从cookie取 登录成功添加cookie,存储id信息 b.回调函数

    服务端处理

    /notebook/loadbooks.do –>DispatcherServlet –>HandlerMapping –>LoadBooksController.execute –>NoteBookService –>NoteBookDao–>cn_notebook –>返回NoteResult JSON数据,显示笔记本列表

    添加和删除cookie出错~~~弄了个cookieutil.js

    function getCookie(objName) { // var arrStr = document.cookie.split("; "); for ( var i = 0; i < arrStr.length; i++) { var temp = arrStr[i].split("="); if (temp[0] == objName) return unescape(temp[1]); } return ""; } function addCookie(objName, objValue, objHours) { var str = objName + "=" + escape(objValue); if (objHours > 0) { var ms = objHours * 3600 * 1000; var date = new Date(); date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str; } function setCookie(name, value) { var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) { document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); } }

    加载笔记列表(单击某个笔记本,加载笔记信息显示)

    客户端: a.发送请求 笔记本li单击。发送ajax请求 提交的数据,就是点击li的绑定的bookId值 b.回调函数 获取服务器返回的json,将笔记信息显示成笔记列表 /note/loadnotes.do –>DispatcherServlet –>HandlerMapping –>LoadNotesController.execute –>NoteService –>NoteDao–>cn_note 返回NoteResult

    jQ如何绑定未来出现的元素

    使用jQ.on();

    //给现有或未来匹配元素绑定事件 $("#book_list").on("click","li",function(){ alert("~~~"); });

    执行~,并没有 jQ对象.on(“事件类型”,”选择器”,function) 选择器是从这个jQ对象里面的找 嗯,写了没有找到!!!无奈,检测,研究。发现我绑定数据的地方出错

    改为

    //将s_li字符串转成jQ对象,藏bookId; var $li = $(s_li); $("#book_list").append($li); $li.data("bookId",bookId);

    之前是

    //将s_li字符串转成jQ对象,藏bookId; var $li = $(s_li); $("#book_list").append(s_li); $li.data("bookId",bookId);

    添加的不是Jq对象!!!!所以检查不到数据~~~

    实现蒙纱

    只要先写个空的div。设置其样式。然后设置为hide()。调用的时候设置为show()就可以了。

    弹出对话框利用load

    怎么弹出一个有很好样式的对话框。 先写一个div。空的 然后利用jQ的load方法让这个$(div)load(url)来调用。就可以将请求的html载入这个div~就实现了要注意编码问题!!!

    将写js函数抽出。

    然后调用的时候,参数是函数名!不要加括号

    $("#book_list").on("click","li",loadnotes);

    创建笔记本

    然后创建笔记本

    客户端 发送请求,单击创建按钮,发送请求 提交数据: 笔记本名称,用户ID 回调函数 成功:关闭对话框,添加一个笔记本li 失败:给出提示信息

    服务端: /notebook/add.do

    –>DispatcherServlet –>HandlerMapping –>AddBookController.execute –>NoteBookService –>NoteBookDao–>cn_notebook(插入) 返回 NoteResult JSON

    其实大体流程都是一样的~ 涉及到javascript的时候用eclipse就真的很容易出错。。。

    实现效果

    云笔记的登录与显示登录的笔记本。点击显示笔记本列表我写的笔记链接 https://app.yinxiang.com/shard/s56/nl/12287602/993f6d79-eea2-4a33-9d7b-70a17aad0bc1

    转载请注明原文地址: https://ju.6miu.com/read-350215.html

    最新回复(0)