json格式的Ajax提交示例代码

 更新时间:2014年08月04日 10:56:50   投稿:whsnow  
这篇文章主要介绍了json格式的Ajax提交,需要引入一些jar包及js包,示例代码如下

需要加入:com.springsource.org.apache.commons.logging-1.1.1.jar、org.json.jar和jquery-1.10.0.min.js包

<form class="form-inline"> 
扫码: <input id="txtQRCode" type="text"> 
<button id="btnReceive">确定</button> 
</form> 

<script type="text/javascript"> 
//扫描二维码 
$('#btnReceive').click(function(){ 
$.ajax({ 
type:"GET", 
url:"<%=basePath%>asynchronous/receive.do", 
data:{qrCode:$('#txtQRCode').val()}, 
dataType:"json", 
cache:false, 
success:function(msg){ 
//var json = eval('('+msg+')');//拼接的json串 

var flag = msg.flag; 
var info = msg.info; 
if(flag){ 
alert(info); 
$('#txtQRCode').val(""); 
} 
else{ 
alert(info); 
} 
}, 
error:function(error){alert(error);} 
}); 
}); 
}); 
</script> 

package com.utcsoft.pcapps.selfservice.controller; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.net.UnknownHostException; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 
import org.json.JSONException; 
import org.json.JSONObject; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 

import com.utcsoft.common.attributes.YesNoEnum; 
import com.utcsoft.common.util.DateOperate; 
import com.utcsoft.pcapps.selfservice.attributes.KeyRequestAttr; 
import com.utcsoft.pcapps.selfservice.dao.FlowDao; 
import com.utcsoft.pcapps.selfservice.dao.KeyRequestDao; 
import com.utcsoft.pcapps.selfservice.entity.Flow; 
import com.utcsoft.pcapps.selfservice.entity.KeyRequest; 
import com.utcsoft.pcapps.selfservice.entity.UtcUsers; 

@Controller 
@RequestMapping(value = "/asynchronous") 
public class AsynchronousController { 
private final static Log logger = LogFactory.getLog(AsynchronousController.class); 

/** 
* 扫描二维码 将订单改为UTC审核 
* @param request 
* @param response 
* @throws IOException 
* @throws JSONException 
*/ 
@RequestMapping(value="/receive") 
public void receive(HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException{ 
String rets = ""; 
boolean b = false; 
try{ 
String qrcode = request.getParameter("qrCode")==null?"":request.getParameter("qrCode").toString().trim(); 
logger.info(qrcode); 
if(!"".equals(qrcode)){ 
JSONObject obj = new JSONObject(qrcode); 
String orderid = obj.getString("orderid").trim(); 
if(!"".equals(orderid)){ 
KeyRequestDao keyDao = new KeyRequestDao(); 
KeyRequest k = new KeyRequest();//综合信息 
k = keyDao.findOneByOrderId(orderid); 
if(k!=null){ 
//修改订单状态为审核 
int n = keyDao.updateState(orderid, String.valueOf(KeyRequestAttr.KqStateEnum.verify.getStep())); 
Flow flow = new Flow(); 
FlowDao flowDao = new FlowDao(); 
UtcUsers users = (UtcUsers)request.getSession().getAttribute("utcUsers"); 
//将记录插入Flwo表中 
flow.setKq_id(orderid); 
flow.setKq_state(String.valueOf(KeyRequestAttr.KqStateEnum.cus_send.getStep())); 
flow.setKq_state_to(String.valueOf(KeyRequestAttr.KqStateEnum.verify.getStep())); 
flow.setIs_Pass(YesNoEnum.Y.getCode()); 
flow.setUser_id(users.getUser_id()); 
flow.setUser_id_from(users.getUser_id()); 
flow.setOpTimer(DateOperate.getDateTime()); 
int flowNum = flowDao.save(flow); 
logger.info("扫描二维码提交结果:n="+n+";flowNum="+flowNum); 
if(n>0){ 
b = true; 
rets = "UTC接收订单成功"; 
logger.info("UTC接收订单成功"); 
} 
else{ 
rets = "UTC接收订单失败"; 
logger.info("UTC接收订单失败"); 
} 
} 
else{ 
rets = "订单查询失败"; 
logger.info("订单查询失败"); 
} 
} 
else{ 
rets = "二维码中订单号为空"; 
logger.error("二维码中订单号为空"); 
} 
} 
else{ 
rets = "二维码内容为空"; 
logger.error("二维码内容为空"); 
} 

} 
catch(Exception e){ 
e.printStackTrace(); 
rets = e.getMessage(); 
logger.error(e.getMessage()); 
} 

JSONObject ret = new JSONObject(); 
ret.put("flag", b); 
ret.put("info", rets); 
PrintWriter write = response.getWriter(); 
write.write(ret.toString()); 
write.flush(); 
} 
}

相关文章

  • asp.net+Ajax 文本文件静态分页实现代码

    asp.net+Ajax 文本文件静态分页实现代码

    代码还是很浅显易懂的,呵呵因为我也不会写高深的代码。重要的我们都要动手去实践。菜鸟们多多努力哦。做完我这个例子级会收获很多哦。
    2010-05-05
  • 原生Ajax之全面了解xhr的概念与使用

    原生Ajax之全面了解xhr的概念与使用

    AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,下面这篇文章主要给大家介绍了关于原生Ajax之全面了解xhr的概念与使用的相关资料,需要的朋友可以参考下
    2022-11-11
  • 四步学会 Ajax

    四步学会 Ajax

    看了下面的函数说明,大家就可以简单的了解ajax的原理了。
    2009-07-07
  • AJAX工作原理及优缺点详解

    AJAX工作原理及优缺点详解

    AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。接下来通过本文给大家讲解ajax的工作原理及优缺点,感兴趣的朋友一起看看吧
    2016-11-11
  • ajax与传统web开发的异同点

    ajax与传统web开发的异同点

    本文给大家介绍ajax与传统web开发的异同点,涉及到ajax、web方面的知识,感兴趣的朋友跟着小编一起学习吧
    2015-10-10
  • Ajax工作原理深入理解

    Ajax工作原理深入理解

    ajax是异步的意思,它有别于传统web开发中采用的同步的方式。异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的
    2013-08-08
  • ajax的responseText乱码的问题的解决方法

    ajax的responseText乱码的问题的解决方法

    javascript的编码是和myeclipse一样的为什么还会出现问题,下面为大家介绍下ajax的responseText乱码的问题的解决方法
    2014-05-05
  • Ajax的内部实现机制、原理与实践小结

    Ajax的内部实现机制、原理与实践小结

    AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。
    2010-06-06
  • 解决ajax返回验证的时候总是弹出error错误的方法

    解决ajax返回验证的时候总是弹出error错误的方法

    这篇文章主要介绍了解决ajax返回验证的时候总是弹出error错误的方法,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Ajax发送和接收二进制字节流数据的方法

    Ajax发送和接收二进制字节流数据的方法

    这篇文章主要介绍了Ajax发送和接收二进制字节流数据的方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-05-05

最新评论