json格式的Ajax提交示例代码

所属分类: 网络编程 / AJAX相关 阅读数: 934
收藏 0 赞 0 分享

需要加入: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(); 
} 
}
更多精彩内容其他人还在看

ajax和jsonp跨域的原理本质详解

跨域问题是我们在开发中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于ajax和jsonp跨域的原理本质,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

ajax获取json数据为undefined原因分析

Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。这篇文章主要介绍了ajax获取json数据为undefined--原因,需要的朋友可以参考下
收藏 0 赞 0 分享

ajax实现用户名校验的传统和jquery的$.post方式(实例讲解)

下面小编就为大家分享一篇ajax实现用户名校验的传统和jquery的$.post方式的实例讲解,具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

ajax中用josnp接收josn数据的实现方法

下面小编就为大家分享一篇ajax中用josnp接收josn数据的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ajax跨域获取网站json数据的实例

下面小编就为大家分享一篇ajax跨域获取网站json数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于前端ajax请求的优雅方案(http客户端为axios)

这篇文章主要给大家介绍了关于前端ajax请求的优雅方案,本文http客户端为axios,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

快速解决ajax请求出错状态码为0的问题

下面小编就为大家分享一篇快速解决ajax请求出错状态码为0的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ajax实现改变状态和删除无刷新的实例

下面小编就为大家分享一篇ajax实现改变状态和删除无刷新的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ajax结合mysql数据库和smarty实现局部数据状态的刷新方法

下面小编就为大家分享一篇ajax结合mysql数据库和smarty实现局部数据状态的刷新方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ajax客户端异步调用服务端的实现方法(js调用cs文件)

下面小编就为大家分享一篇Ajax客户端异步调用服务端的实现方法(js调用cs文件),具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享
查看更多