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");

配置编码格式。。。

终于正常了

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小帅和刘美美

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值