jQuery $.post()方法发送参数取得JSON 字符串返回值并在页面展示

        在前一篇博文谈了BOM按层次展开JAVA后端处理程序和实现的算法。前后端有一个数据交互的过程,都是通过 JSON 实现的,前端通过 jQuery  AJAX的$.post()方法提交JSON 数据到ajaxbomexplosionlevel,返回JSON字符串后进行页面展示,详见前端的JSP 程序主要部分,在程序的相应部分进行了注释说明。

前端JSP 页面的主要部分,通过进入页面的 ${itemmasters}选择下拉列表,<tbody id="bd10"> 部分为动态输出结果数据区域
 
  请输入展开BOM的物品&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <select id="parcode"  Class='iord5'>
            <option selected value=""></option>
                <c:forEach items="${itemmasters}" var="item" >
                <option value="${item.itemcode}">${item.itemcode } ${item.itemname }</option>
                </c:forEach>
     </select>

 <table id="mytable" style="border-collapse:collapse; border:1px; cellspacing:0px; cellpadding:2">
    <tr>  
           <td Class="iord40h">&nbsp;&nbsp;层  级</td>
           <td Class="iord40h">&nbsp;&nbsp;行项目</td>
           <td Class="iord4h">&nbsp;&nbsp;子项物品</td>            
           <td Class="iord421h">&nbsp;&nbsp;数  量</td>
           <td Class="iord42h">&nbsp;&nbsp;单  位</td>           
           <td Class="iord43h">&nbsp;&nbsp;物品名称</td>
          
        </tr>  
        <tbody id="bd10">            
            
    </tbody>
  </table>


JS 处理下拉列表时使用了一个 jquery 的控件 select.editable-select,此控件在使用下拉列表时不仅可以下拉选择,还可以输入值并根据输入值进行筛选满足条件值
select.editable-select 控件包括了 js 和 css 两个文件
jquery-editable-select.min.js
jquery-editable-select.min.css

<script type="text/javascript">
var jsonobj;
var parentcode;

$(function(){
// 下拉列表选择时进入下面函数
$('.iord5')
    //控件要求的格式
    .editableSelect()
    .on('select.editable-select', function (e, li) {  
   
    //下拉列表选择后取得选择值
    var parval1 = document.getElementById("parcode").value;
    //下拉列表的格式是 物品代码 + " " +物品名称,如 2000000010 电子产品整机A,下面两个语句解析出物品代码
    var parval2 = parval1.split(' ',1);
    parentcode = parval2.join('');       
    
    //准备向后台提交的参数
    var url = "${pageContext.request.contextPath }/ajaxbomexplosionlevel";
    var args = {"parentcode":parentcode,"date":new Date()};
    
    $.ajaxSettings.async = false;    
    //jquery $.post 提交,从后台处理生成结果 list 对象,list 对象转 JSON 字符串返回到参数data 
    $.post(url, args, function(data){    
    //很重要,返回的变量 data JSON 字符串转为 JSON 对象 jsonobj
       jsonobj = eval("(" + data + ")");      
         });         
     
     //在 id = "bd10" 的tbody 区域置空
     odiv = document.getElementById("bd10");
     odiv.innerHTML = "";
     var str = ""; 
     
    var inum =0;
    //通过循环生成要输出的动态 table 表,将HTML 输出写到 str 字符串中
    for(var i=0; i < jsonobj.length; i++) {
    inum = inum + 10;
    str +="<tr><td align=center Class='iord40'>" +  jsonobj[i].level + "</td>"; 

    str +="<td Class='iord40'>" + inum + "</td>"; 
  
    str += "<td  align=left Class='iord4'>" + jsonobj[i].subitemcode + " " + jsonobj[i].subitemname + "</td>";

    str +=  "<td align=right >" +  jsonobj[i].qty + "</td>";

    str += "<td  align=center Class='iord42'>" + jsonobj[i].unit + "</td>";

    str += "<td  align=left Class='iord43'>" + jsonobj[i].subitemname + "</td></tr>";
 
     } 
      //在 id = "bd10" 的tbody 区域输出查询结果
       odiv = document.getElementById("bd10");
       odiv.innerHTML = str;  
                 
    });        
    }); 
</script> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是关于 `$.ajax()`、`$.get()`、`$.post()` 的参数解析及代码实例: ## `$.ajax()` `$.ajax()` 是 jQuery 中最基础的 AJAX 方法,可以通过它来发起各种类型的 AJAX 请求,其常用参数如下: - `url`:请求的 URL 地址。 - `type`:请求类型,如 GET、POST 等。 - `data`:要发送的数据,可以是对象字符串或数组。 - `dataType`:服务器返回的数据类型,如 text、json 等。 - `success`:请求成功后的回调函数。 - `error`:请求失败后的回调函数。 下面是一段 `$.ajax()` 的代码实例: ```javascript $.ajax({ url: 'test.php', type: 'POST', data: { name: '张三', age: 18 }, dataType: 'json', success: function(data) { console.log(data); }, error: function(xhr, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); ``` ## `$.get()` `$.get()` 是一个简单的 GET 方法,其常用参数如下: - `url`:请求的 URL 地址。 - `data`:要发送的数据,可以是对象字符串或数组。 - `dataType`:服务器返回的数据类型,如 text、json 等。 - `success`:请求成功后的回调函数。 - `error`:请求失败后的回调函数。 下面是一段 `$.get()` 的代码实例: ```javascript $.get('test.php', { name: '张三', age: 18 }, function(data) { console.log(data); }, 'json'); ``` ## `$.post()` `$.post()` 是一个简单的 POST 方法,其常用参数如下: - `url`:请求的 URL 地址。 - `data`:要发送的数据,可以是对象字符串或数组。 - `dataType`:服务器返回的数据类型,如 text、json 等。 - `success`:请求成功后的回调函数。 - `error`:请求失败后的回调函数。 下面是一段 `$.post()` 的代码实例: ```javascript $.post('test.php', { name: '张三', age: 18 }, function(data) { console.log(data); }, 'json'); ``` 以上就是 `$.ajax()`、`$.get()`、`$.post()` 的参数解析及代码实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值