ajax的交互问题:
关于dataType:Json,后台如果返回单纯的字符串这是用这个就接不到回调值,
后台如果返回的是json格式的字符串,那么用这个就会将这个格式的字符串转化为json对象作为回调值
后台的返回也有两种方式:
1,加@responseBody
2,直接用response.getWriter().write();
都会返回回调,只要dataType和后台的一致即可
/**
*标的成交
*/
function applyInfoNew(objKey,ord_key,ORDPRICE_NO,NEW_PRICE,chatNum,ARTNFLAG,CNT_KEY){
var cnt_num=$("input[name='newNum']").val();
var orderPrice=$("input[name='orderPrice']").val();
jQuery.ajax({
async:true,
url:webUrl+"/chat/offer/buyInfo?cnt_price="+NEW_PRICE+"&conobj_key="+objKey+"&cnt_num="+chatNum,
cache:false,
timeout:10000,
datatype:"json",
success:function(data){
if(data.status=="1"){
alert(data.msg);
return;
}else{
alert(2);
if (confirm("您确认成交吗?")) {
var CONTRADE_KIND = $("input[name='contradeKind']").val();
alert(CONTRADE_KIND);
//document.form2.action=path+"/negotiate!applyNew.do?urlType=dicker&objKey="+objKey+"&conOrdPriceBean.ORD_KEY="+ord_key+"&conOrdPriceBean.ORDPRICE_NO="+ORDPRICE_NO+"&conOrdPriceBean.CONTRADE_KIND="+CONTRADE_KIND;
//document.form2.submit();
$.ajax({
url:webUrl+"/chat/offer/applyNew?urlType=dicker&objKey="+objKey+"&ord_key="+ord_key+"&ORDPRICE_NO="+ORDPRICE_NO+"&CONTRADE_KIND="+CONTRADE_KIND,
type:"post",
cache:false,
async:true,
dataType:"json",
data:$("#form2").serialize(),
success:function(ret){
if(ret.status=="1"){
alert(ret.status);
window.location.href="http://localhost:8081/web/conObj/buyDetail.do?txt_conobj_key="+objKey+"&txt_contrade_kind="+CONTRADE_KIND+"&pick_types=A&jianjibuynum=0&order_prices="+orderPrice+"&cdListKeyArrayFront="+""+"&buyNum="+chatNum+"&ARTNFLAG="+ARTNFLAG+"&CNT_KEY="+CNT_KEY+"&msg="+encodeURIComponent(ret.msg);
//window.location.href=webUrl+"/web/conObj/buyDetail.do?txt_conobj_key="objKey+"&txt_contrade_kind="+CONTRADE_KIND+"&pick_types=A&jianjibuynum=0&order_prices="+orderPrice+"&cdListKeyArrayFront="+"";
//$.zd.alert("提示信息","恭喜您已成交",function(){
//parent.location=webUrl+"/conObj!buyPrint.do?urlType=dicker&CNT_KEY="+ret.msg;
//});
}else{
alert(8);
alert(ret.msg);
window.location.href="http://localhost:8081/web/conObj/buyDetail.do?txt_conobj_key="+objKey+"&txt_contrade_kind="+CONTRADE_KIND+"&pick_types=A&jianjibuynum=0&order_prices="+orderPrice+"&cdListKeyArrayFront="+""+"&buyNum="+chatNum+"&ARTNFLAG="+ARTNFLAG+"&CNT_KEY="+CNT_KEY+"&msg="+encodeURIComponent(ret.msg);
//$.zd.alert("提示信息",ret.msg,function(){
//refreshInfoData();
//});
}
},
error:function(retMsg){
window.location.href="http://localhost:8081/web/conObj/buyDetail.do?txt_conobj_key="+objKey+"&txt_contrade_kind="+CONTRADE_KIND+"&pick_types=A&jianjibuynum=0&order_prices="+orderPrice+"&cdListKeyArrayFront="+""+"&buyNum="+chatNum+"&ARTNFLAG="+ARTNFLAG+"&CNT_KEY="+CNT_KEY+"&msg="+encodeURIComponent(retMsg.msg);
//window.location.hre="http://localhost:8081/web/siteindex.do";
//refreshInfoData();
}
});
}else{
return false;
}
}
},
error:function(XMLHttpResuest,textStatus,errorThrown){}
});
/**if(confirm("确认以价格"+NEW_PRICE+",成交?")){
var CONTRADE_KIND = $("input[name='CONTRADE_KIND']").val();
document.form2.action="${path}/NegotiateAction!applyNew.action?urlType=dicker&objKey="+objKey+"&conOrdPriceBean.ORD_KEY="+ord_key+"&conOrdPriceBean.ORDPRICE_NO="+ORDPRICE_NO+"&conOrdPriceBean.CONTRADE_KIND="+CONTRADE_KIND;
document.form2.submit();
}*/
}
@SuppressWarnings({ "unused", "rawtypes" })
@RequestMapping(value="/chat/offer/applyNew")
public String applyNew(@RequestParam(value="objKey") String objKey,
@RequestParam(value="urlType") String urlType,
@RequestParam(value="ord_key") String ord_key,
@RequestParam(value="ORDPRICE_NO") String ORDPRICE_NO,
@RequestParam(value="CONTRADE_KIND") String CONTRADE_KIND,
HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model) throws EsteelException, IOException {
String cusUser = CASUtil.getCurrentUserName(session);
TbCusUser user = tbCusUserService.getTbCusUserByCusUserId(cusUser);
String cus_user_key = user.getCusUserKey();
Map param = new HashMap<String,Object>();
param.put("ORD_KEY", ord_key);
param.put("ORDPRICE_NO", ORDPRICE_NO);
param.put("CUS_USER_KEY", cus_user_key);
param.put("CONTRADE_KIND", CONTRADE_KIND);
Map applyMap = tbConObjService.applyConOrdPrice(param);
String outs=(String) applyMap.get("OUTPARA");
Map map1=new HashMap<String,Object>();
if(outs!=null&&!"".equals(outs)){
map1= parsePara(outs);
}else{
map1.put("ARTNFLAG", "-1");
map1.put("MSG", "返回参数为空!");
}
String ARTNFLAG = "";
String MSG2 = "";
String ORD_KEY = "";
String CNT_KEY = "";
String errorInfo = "";
if (map1 != null) {
ARTNFLAG = (String)map1.get("ARTNFLAG");
MSG2 = (String)map1.get("MSG");
ORD_KEY = (String)map1.get("ORD_KEY");
CNT_KEY = (String)map1.get("CNT_KEY");
}
response.setContentType("text/html;charset=utf-8");
if ((ARTNFLAG == null) || (!ARTNFLAG.equals("0")))
{
if ((MSG2 != null) && (!MSG2.equals(""))) {
//setStrJs("alert('" + MSG2 + "!');parent.refreshInfoData();");
//setStrIfRunJs("1");
String str = JSONUtils.valueToString(JSONObject.fromObject(new JsonMsg("-1", MSG2,ARTNFLAG,CNT_KEY)));
response.getWriter().write(str);
response.getWriter().flush();
return null;
}
//setStrJs("alert('成交议价失败!');parent.refreshInfoData();");
//setStrIfRunJs("1");
String str = JSONUtils.valueToString(JSONObject.fromObject(new JsonMsg("-1", "成交议价失败",ARTNFLAG,CNT_KEY)));
response.getWriter().write(str);
response.getWriter().flush();
return null;
}
Map contractMap = null;
if ((CNT_KEY != null) && (!CNT_KEY.equals(""))) {
contractMap = this.tbConObjService.getContractByCNT_KEY(Integer.valueOf(CNT_KEY));
}
if (contractMap != null) {
//getRequest().setAttribute("contractMap", contractMap);
//getRequest().setAttribute("CNT_KEY", CNT_KEY);
//setStrJs("alert('恭喜您已成交!');parent.parent.location=\"" + getRequest().getContextPath() + "/conObj!buyPrint.do?urlType=" + urlType + "&CNT_KEY=" + CNT_KEY + "\";");
//setStrIfRunJs("1");
String str = JSONUtils.valueToString(JSONObject.fromObject(new JsonMsg("1", CNT_KEY + "",ARTNFLAG,CNT_KEY)));
response.getWriter().write(str);
response.getWriter().flush();
return null;
}
//setStrJs("alert('恭喜您已成交!');parent.refreshInfoData();");
//setStrIfRunJs("1");
String str = JSONUtils.valueToString(JSONObject.fromObject(new JsonMsg("2", "恭喜您已成交",ARTNFLAG,CNT_KEY)));
response.getWriter().write(str);
response.getWriter().flush();
return null;
}
相关推荐
SpringMVC是Spring框架的一部分,用于构建高效、灵活的后端控制器,而jQuery则是一个强大的JavaScript库,简化了前端的DOM操作、事件处理以及Ajax交互。本文将深入探讨SpringMVC与jQuery结合使用时的Ajax交互。 ...
**Ajax 页面交互** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。这种技术使得用户界面更加响应式,提升了网页应用的用户体验。Ajax 不是单一的技术,而是...
本文将深入探讨Spring与jQuery AJAX交互以及Servlet与jQuery AJAX交互的知识点。 ### Spring与jQuery AJAX交互 #### 1. Spring MVC中的RESTful API设计 在Spring MVC中,我们可以创建RESTful服务,通过HTTP的CRUD...
Spring MVC和Ajax是Web开发中的两个重要技术,它们在构建动态、交互性强的网页应用时起着关键作用。Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构来组织和处理HTTP请求,而Ajax...
用html写窗口UI,然后用Ajax交互数据。把web应用搬到窗口程序中,不是梦。不需要IIS、Apache之类的东西就可以使用。做漂亮的程序不是梦。声明:因为程序只是为了讲解原理,所以有bug自己修复。资源作者:。@dulang。...
在使用Ajax进行网页交互时,也要注意安全性问题,比如防止XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等。 总结来说,Unigui与Ajax的结合使得开发者能够利用熟悉的Delphi环境,轻松创建具有高效交互性的Web应用...
例如,使用jQuery的$.ajax()或$.get()、$.post()方法可以更简洁地实现Ajax交互。 总结,Js与Ajax的交互是现代Web开发中不可或缺的一部分,它实现了页面的无刷新更新,提高了用户的交互体验。理解并掌握Ajax的工作...
HighCharts后台交互数据模板,使用Ajax交互传递数据,显示图示
jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画效果以及AJAX交互等任务。其内置的AJAX函数使得发起异步请求变得非常简单。 接下来,我们将探讨如何在Spring MVC项目中使用jQuery的AJAX功能: ...
- **学习资源**:这个组件提供了基础的Ajax交互案例,有助于初学者理解Ajax工作原理和实现过程。 - **实际应用**:理解并掌握Ajax技术,可以应用于各种需要动态更新数据的Web场景,如实时聊天、表格数据刷新等。 ...
### AJAX交互式电子相册知识点解析 #### 一、AJAX技术概述 AJAX(Asynchronous JavaScript and XML)即异步JavaScript与XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器...
本学习实例集主要涵盖了AJAX与数据库交互的各种应用,包括数据的增删改查、异步提交等常见操作,提供了丰富的实践案例。 一、AJAX基础 1. XMLHttpRequest对象:AJAX的核心是XMLHttpRequest(XHR)对象,它允许在...
标准的Ajax交互流程图,提供免费下载,我还会后续上传的,O(∩_∩)O~ w3cshool.chm的免费下载地址:http://download.csdn.net/detail/php_fly/3858661
**jQuery**是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及AJAX交互。jQuery使得使用JavaScript开发Web应用变得更加简单。 在"**Ajax 使用Jquery与服务器的交互**"这个主题中,我们...
本篇文章主要介绍了jQuery Ajax前后端使用JSON进行交互示例,实现前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端,有兴趣的可以了解一下。
- **jQuery简介**:jQuery是一个轻量级的JavaScript库,简化了JavaScript的使用,包括DOM操作、事件处理、动画效果以及Ajax交互。 - **jQuery与Ajax结合**:jQuery提供了方便的Ajax函数,如`$.ajax()`, `$.get()`,...
本篇文章将深入探讨jQuery如何与后台进行Ajax交互。 ### 1. jQuery中的Ajax函数 jQuery提供了一个名为`$.ajax()`的全局函数,用于发起Ajax请求。这个函数支持多种HTTP请求方法,如GET、POST、PUT、DELETE等。基本...
**Ajax 页面交互与 Ashx** Ajax(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的核心在于利用JavaScript进行异步数据交换,提升了用户体验,使得网页...
function createXMLHttpRequest(){ if(window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if(window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); } ...
本文将从 Ajax 技术的介绍开始,分析基于 ThinkPHP 的 Ajax 数据交互技术,并比较传统的 Ajax 数据交互和 ThinkPHP 的 Ajax 数据交互,最后提出 ThinkPHP 的 Ajax 数据交互技术的优势。 Ajax 技术是动态网页技术的...