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

页面上有一个数组,里面存放了多个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>  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值