js端:
<script language="javascript" type="text/javascript">
function onSubmit(url) {
if(!checkphone()){
return false;
}
var mobile = document.getElementById("mobile").value;
var offerCode = document.getElementById("offerCode").value;
// AJAX请求改为同步
jQuery.ajaxSetup( {
async : false, // 是否异步
global : false
});
var orderurl = "http://192.168.9.27:8088/orderTransmit/to_orderTtansmit.htm?jsoncallback=?";
jQuery.getJSON(orderurl, {'mobile':mobile,'offerCode':offerCode}, function(data) {
if(data.flag){
location.href = url+"?backurl="+window.location.href+"&mobile="+mobile;
}else{
location.href = "error.htm";
}
});
}
</script>
服务器端:
public void toOrderTtansmit() throws Exception {
boolean flag = Boolean.TRUE;
long startTime = System.currentTimeMillis();
// 获取请求数据
mobile = this.getRequest().getParameter("mobile");
offerCode = this.getRequest().getParameter("offerCode");
String jsoncallback = this.getRequest().getParameter("jsoncallback");
String remoteIp = this.getRemoteIp();
try {
// 使用时间戳作为订单编号
String tvOrderNo = "CQ" + AppUtils.generateOrderSn2();
// 发起WEB SERVICE请求同步订单
log.info("order sync start mobile:" + this.mobile + ",offerCode:" + this.offerCode + ",tvOrderNo:"+ tvOrderNo + ",remoteIp:" + remoteIp);
tvOrderClient(this.mobile, this.offerCode, tvOrderNo, startTime);
} catch (Exception e) {
flag = Boolean.FALSE;
}
String callback = jsoncallback + "({\"flag\":" + flag + "})";
this.write(callback);
}