zl程序教程

您现在的位置是:首页 >  前端

当前栏目

ajax如何返回多个值

AJAX 如何 多个 返回
2023-09-14 08:57:21 时间

应用场景:  在前端有个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()+"\"}";