1. 程式人生 > 程式設計 >JFINAL+Ajax傳參 array 陣列方法 獲取request中陣列操作

JFINAL+Ajax傳參 array 陣列方法 獲取request中陣列操作

前臺程式碼js

var _list =[];
 
    for (var i = 0; i < array.length; i++) { 
      _list[i] = array[i]; 
    }  
    $.ajax({ 
      type: "post",url: "",data: {"ids": _list },dataType: "json",success: function(data){
         alert("新增成功");      
      }
  }); 

<!!錯誤寫法,jfinal有特別對陣列的封裝方法!!>

後臺程式碼 java

String ids = this.getPara("ids[]");
      System.out.println(ids);
      String[] deleteId = ids.split(","); 
       for (String str : deleteId) { 
          System.out.println(str); 
        } 

正確的

String[] userids = this.getParaValues("ids[]");
 for (String str : userids) {     
        System.out.println(str); 
       }  

補充知識:關於Jfinal上傳多個檔案後臺獲取變數的問題

JFinal作為一款極速開發框架,開發速度快、基本功能豐富,使得開發一個簡單的網站可以快速高效的進行,節省了大量的時間,受開發人員喜愛。但是使用過程並不是一番豐順的。就好像是給你一把衝鋒槍,你可以簡單的就學會開槍,但是需要認真學習才能打得準。Jfinal也是這樣,使用者需要詳細解讀他的API才可以快速進行開發。

本人開發中遇到的問題點就是對於需要同時上傳檔案又要提交資料時,由於前臺設定了form提交方式為enctype="multipart/form-data",無論後臺用什麼取值方法都不能獲取到資料欄位,只能獲取到檔案。經過反覆試驗發現,先接收檔案之後再接收資料欄位就可以了。對此是什麼原理一直不太明白,繼續研究中。在這裡把結果直接告訴大家,希望對大家有幫助。

總結:檔案和欄位同時在一個form中提交,先接收檔案,再接收欄位就可以接收到。

以上這篇JFINAL+Ajax傳參 array 陣列方法 獲取request中陣列操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。