Servlet对Ajax中请求处理及Json串的解析

相关介绍:

ajax属于前端技术 , 是前端页面异步向服务器发出请求,由服务器接受后(这里是servlet)作出相应的处理,并返回结果,从而在前端页面局部展示。

一、前端jsp页面js代码:

<script type="text/javascript">
//这里使用jquery中的ajax方法来异步方式请求。
$(function(){
$("input:first").on("click",function(){
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/EntryAction",
success:function(ret){ //xhr.readyState==4 && xhr.status==200执行
//其中的参数即xhr.responseText,如果设置了dataType:"json",则ret36是解析后的js对象
var arr1 = ret.results;
var arr2 = arr1[0].data
//console.log(arr2.length);
var arr3 = arr2.length;
//console.log(arr2.toString());
//设置一个变量,将此变量值传到div中。
var content;
//获取div DOM
var doc = document.getElementById("cont");
//创建一个元素P
var para=document.createElement("p");
for(var i=0;i<arr3;i++){
var row1 = arr2[i];
var row2 = row1.row[0];
content = row1.row[0].key;
//创建文本节点
var node=document.createTextNode(content);
//创建br节点。
var br=document.createElement("br");
if(content != undefined){
para.appendChild(node);
para.appendChild(br);
doc.appendChild(para);
}
}
},
dataType:"json"//指示返回值xhr.responseText为json则ret36,就是解析后的js对象
});
});


二、Servlet代码:

package com.dabaike.action.impl;

import java.io.IOException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dabaike.cypher.NodeEntry;
import com.dabaike.server.EntryService;
import com.dabaike.server.impl.EntryServiceImpl;

@SuppressWarnings("serial")
public class EntryActionImpl extends HttpServlet {

public void service(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
EntryService es = new EntryServiceImpl();
try {
NodeEntry nodeEntry = es.queryAllNodes();
String list = nodeEntry.getNodeValue();//这里的list已经是json串了,如果是对象,需要使用gson将其转换为json串。

//获取输出流,向页面输出json串。
response.getWriter().print(list);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("error",e.getLocalizedMessage());
request.getRequestDispatcher("/jsp/error.jsp").forward(request, response);
}
}
}

 

以上就是ajax对servlet请求后,在有success中的变量来进行json串的解析的整个过程!希望对大家有用!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值