我是靠谱客的博主 朴素蛋挞,最近开发中收集的这篇文章主要介绍Ajax和Servlet做项目时遇到的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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


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

	<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做项目时遇到的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部