我是靠谱客的博主 朴素蛋挞,这篇文章主要介绍Ajax和Servlet做项目时遇到的问题,现在分享给大家,希望可以做个参考。

实训老师让我们自己ajax发送请求到Servlet进行增删改。

下面是我遇到的一些问题:


1、jsp页面循环遍历出Servlet传过来的数组

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
<c:forEach var="emp" items="${emplist }"> <input type="hidden" value="${emp.empno }" id="empnoi"/> <tr> <td>${emp.ename }</td> <td>${emp.job }</td> <td>${emp.sal }</td> <td>${emp.hiredate }</td> <td> <span id="update" data-id='${emp.empno }'>修改</span> <span id="delete" data-id='${emp.empno }'>删除</span> </td> </tr> </c:forEach>
因为读取出来的数据删除和修改需要用ajax发送到后台处理,我就没有用a标签的href=xxx?id=?的方法,所以我把它的id放到data-id中,在通过jq的attr取出来用ajax发送到后台。

可是问题来了,页面显示不出来,我仔细排查,发现遍历是没问题的,又看头部才发现isELIgnored="false"忘掉了。

${}就不能用可定出不来啊。

2、修改信息时,我需要弹窗进行修改,那么问题来了。我怎么把当前这条数据传到弹窗里呢,不能把当前id放到后台再查询一次然后返回数据显示到弹窗里吧,影响性能啊

想了一下,简单除暴的通过$(this).parent().siblings().eq(0).text()的方法把数据取到赋值到弹窗里。依次进行;

最后我需要提交弹窗里form表单。

奇怪的是每次提交都提示ajax的方法错误:error

好嘛,又仔细看,url没问题,data:{}没问题,那么哪里出错?

想了一下,之前有过input[type="submit"]和input[type="button"]的差别影响ajax方法的问题,详情:http://blog.csdn.net/qq_34926773/article/details/77865348

我切换着用,发现不是这的问题。没办法我只有断点调试发现问题:404错误

url错误,为什么?和servlet的名字一样啊。我去找了几遍才发现问题:创建servlet时web.xml里没有此servlet的配置。

哎。好坑啊,我记得servlet创建时都是自动配置servlet的。

3、既然可以访问后台了,那么我想从后台传值回来怎么做?servlet又不像SSM框架那样return 值

没办法,百度呗,谁让基础不扎实。

找出答案:

PrintWriter out = response.getWriter();
out.println("返回值");

前台Ajax:

success: function(data){

alert(data);

}

值是可以读出来了,但是乱码了。。。。

懵逼。。。

仔细找答案:

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

配置编码格式。。。

终于正常了

心酸。基础不扎实就是这样,一个小问题就可以让你费很大的劲。加油吧


最后

以上就是朴素蛋挞最近收集整理的关于Ajax和Servlet做项目时遇到的问题的全部内容,更多相关Ajax和Servlet做项目时遇到内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(94)

评论列表共有 0 条评论

立即
投稿
返回
顶部