easyui 中的 form 提交 後獲得 後臺 的 json資料 與 jquery .ajax的不同之處
阿新 • • 發佈:2019-02-20
jquery ajax接收後臺傳送過來的資料通過定義 dataType :'json' , 可以保證接收到的資料就是json型別的 ,不需要再用eval()函式進行轉換,應用起來相當方便
舉例如下
[javascript] view plaincopy- function getTracks(terId,startTime,endTime){
- $.ajax({
- type:"GET",
- url:"replayTracks",
- dataType:"json",
- data:{"terminalId":terId,
- success:function(data){
- // alert(data.length);
- // alert(data[0].msgTime);
- // alert(data[4].degreeLon);
- currentMarkers = map.getOverlays();
- for(var i=0;i<currentMarkers.length;i++)
- {
- map.removeOverlay(currentMarkers[i]);
- }
- if(data.length==0) $.messager.alert('無軌跡點','此段時間內無軌跡點資料!!','info');
- //GPS點轉換成百度座標
- else Translate(data);
- },
- error:function(xhr,err){
- $.messager.alert('錯誤','獲取軌跡資訊錯誤!!','error');
- }
- });
- }
easyui 中的form向後臺提交後,後臺響應傳過來的資料 雖然在後臺是定義成json型別的,但在這裡的回撥函式,我們還是需要呼叫eval()函式將其轉換為js的json資料型別
程式碼如下:
[javascript] view plaincopy- $("#login").form({ //alert( $("#name").val() );
- onSubmit:function(){ returntrue;},
- success:function(data){
- data = eval( '('+data+')' );
- alert(data.response1);
- }
- });
- function checkLogin(){
- $('#login').submit();
- }
- 後臺程式碼如下
- /*
- * 獲取前臺表單提交的資料,向前臺傳達json資料
- */
- publicclass FormAction extends ActionSupport{
- privatestaticfinallong serialVersionUID = 1L;
- private String name ;
- private Map<String,Object> responseData ;
- privatestatic Logger logger = Logger.getLogger(GetTracks.class);//log4j 日誌記錄器
- publicvoid setName(String name){
- this.name = name ;
- logger.info(name);
- }
- public Map<String,Object> getResponseData(){
- logger.info("return data");
- responseData=new HashMap<String,Object>();
- responseData.put("response", name);
- responseData.put("response1", name+"hello");
- return responseData;
- }
- public String getData(){
- logger.info("getdata");
- return"getData";
- }
- }