ajax如何返回多个值

应用场景:  在前端有个ajax请求到后端后,需要返回多个变量的值,在这里使用的是Json格式作为值传递,使用eval函数来解析Json格式。

     

     要传递的值data:

     var data = " {"key1":"value1","key2":"value2","key3":"value3"} ";

     解析的结果:

     var json = eval("(" + data+ ")");

     var value1 = json.key1;

     var value2 = json.key2;

     var value3 = json.key3;

具体在ajax中的应用如下,接收返回的多个值 



function save() {   if($("#saleOrderForm").valid()){
    var dform = $("#saleOrderForm").serialize();
    $.post(ctx
+ "/saleOrder/orderSave",     dform,     function(data){
      var json = eval("(" + data + ")");       var result = json.result;       var id = json.id;       var soStatus = json.soStatus;       if (result == "success") {         //jAlert('message', '操作成功.', '提示');         closeWindow('popupWin');         //如果状态由打开修改为关闭,则不跳转到明细栏目         if(soStatus == 1) {           window.location.href=ctx+'/saleOrder/show';         } else {           window.location.href=ctx+'/saleOrderDetail/saleOrderDetailView?id=' + id;         }       } else {         jAlert('message', result,'<facc:i18n value="系统提示" key="JSPCOMMON-sys_aerlt" />');       }       }, "html");   } }
 

以下是后端拼接Json格式的字符串:

注意Json格式在java中时如果要输出的内容带双引号,需要使用转义字符/

   result = "{"result":"success","id":"" + id 
  + "","soStatus":"" +saleOrder.getSoStatus()+""}";
原文地址:https://www.cnblogs.com/30go/p/5402035.html