您的位置:首页 > Web前端 > JavaScript

json+ajax 在前后台的简单交互

2018-02-02 08:53 381 查看
页面上有一个数组,里面存放了多个json,需要将该数组作为参数传给java后台。

var data= [{name:"jon",age:"12"},{name:"jic",age:"18"},{name:"petter",age:"14"}]

$.ajax({

url:'./service/iposremoteapprove/caseToUser.do',

data:{

ds:JSON.stringify(data) /* 特别需要注意这里,需要现将json数组通过JSON.stringify()处理一下之后,才能作为我们需要的参数传过去

},

type:'post',

dataType:"json",

success:function(json){

$.messager.alert("提示","成功","info");

}

});

// 存放对象

JSONObject jObject = new JSONObject();

while(reDataSet.next()){

jObject.put("kpbbh", reDataSet.getString("kpbbh"));

jObject.put("ssbbh", reDataSet.getString("ssbbh"));

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

Date date=reDataSet.getDate("qysj");

String str=sdf.format(date);

jObject.put("qysj", str);

}

前台jsp

$.ajax({

url : '/BbhflServlet',

data:{opType:'onload'},

type:'post',

success:function(data){

if(data==""){

}

else{

data = eval('(' + data + ')');

var kp= data.kpbbh;

$("#kpbbh").attr("value",kp);

$("#ssbbh").attr("value", data.ssbbh);

$("input[name='qysj']").attr("value", data.qysj);

}

}

})

后台javaservlet

if (conn != null) {

if("insert".equals(opType)){

result
= bbhflDean.doUpdate(conn, kpbbh, ssbbh, qysj);

if (result == 0) {

message
= "0";

res.getWriter().print(message);//
result为后台需要抛出的内容字符串

}
else if (result == 2) {

message
= "2";

res.getWriter().print(message);

}
else if (result == 3) {

message
= "3";

res.getWriter().print(message);

}

}else if("onload".equals(opType)){

JSONObject
jObject = new JSONObject();

jObject
= bbhflDean.onLoad(conn);

res.getWriter().print(jObject);

LOGGER.debug("if(
onload .equals(opType))---map"+jObject);

}

}

java接收参数

String ds = request.getParameter("ds");

JSONArray json=JSONArray.fromObject(ds);

JSONObject jsonOne;

Map<String,String> map=null;

for(int i=0;i<json.size();i++){

updataMap = new HashMap<String,String>();

jsonOne = json.getJSONObject(i);

map.put("name", (String) jsonOne.get("name"));

map.put("age", (String) jsonOne.get("age"));

}

此时map中就保存了页面传过来的数组中所有json中的键值对了

使用ssm时:

前台页面:<body>

<h2>登录</h2>

<div>

<form action="/hello/login.htm" method="post">

用户名:<input type="text" name="username" >

密码:<input type="password" name="pwd">

<input type="submit" id="sumbit" value="登录">

</form>

</div>

</body>

后台部分:

@RequestMapping(value="/login",method= RequestMethod.POST)

public String Login(HttpServletRequest request,HttpServletResponse response,Model model){

String username=request.getParameter("username");

String password=request.getParameter("pwd");

User user=userService.getUserByUserName(username);

if(user==null)

{

model.addAttribute("message","用户不存在"); //传参数给前端

return "HelloWorld";

}else{

if(password.equals(user.getPassword())){

model.addAttribute("message","登陆成功"); //传参数给前端

return "HelloWorld";

}else {

model.addAttribute("message","密码错误"); //传参数给前端

return "HelloWorld";

}

}

}

helloword页面

<body>

<h1>message:${message}</h1>

<h1>this is my spring mvc</h1>

</body>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐