九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Extjs submit 和ajax提交原理

使用Ext.Ajax.request提交數(shù)據(jù)的代碼如下(這段代碼在一個(gè)Js文件中,為避免中文亂碼,js文件必須是utf-8編碼):

Javascript代碼
  1. <script type="text/javascript">   
  2. Ext.Ajax.request({   
  3.     url:'http://localhost:8080/myapp/ExtHandler',//請(qǐng)求URL(JSP/Servlet)   
  4.     jsonData:Ext.util.JSON.encode(info),//JSON格式的參數(shù),你還可以利用下面的params傳其它參數(shù)  
  5.     params:{action:'up'},//設(shè)置傳遞參數(shù)  
  6.     success: function(resp,opts) {//成功后的回調(diào)方法  
  7.         var respText = Ext.util.JSON.decode(resp.responseText); //解碼JSON格式數(shù)據(jù)為一個(gè)對(duì)象  
  8.         Ext.Msg.alert('提示', respText.info);   
  9.     },   
  10.   
  11.     failure: function(resp,opts) {//失敗  
  12.             var respText = Ext.util.JSON.decode(resp.responseText);   
  13.             Ext.Msg.alert('錯(cuò)誤', respText.error);   
  14.     }   
  15.   
  16.    });   
  17.   
  18. </script>  


1、url:參數(shù)指定的是一個(gè)Java Servlet,
2、jsonData:參數(shù)提交JSON格式的數(shù)據(jù)到Servlet處理,你也可以提交其它參數(shù),
3、params參數(shù)中定義;
4、success:然后根據(jù)服務(wù)器的處理結(jié)果Ext.Ajax調(diào)用相應(yīng)成功或失敗的回調(diào)函數(shù)進(jìn)行處理;

在Servlet中如何得到j(luò)sonData參數(shù)中定義的數(shù)據(jù)呢?看以下代碼:

Java代碼
  1. StringBuffer json = new StringBuffer();     
  2.   
  3. String line = null;       
  4.   
  5. try {        
  6.   
  7.     BufferedReader reader = req.getReader();       
  8.   
  9.     while ((line = reader.readLine()) != null)  {   
  10.   
  11.             //讀取jsonData中定義的數(shù)據(jù)     
  12.   
  13.           json.append(line);       
  14.   
  15.     }   
  16.   
  17. catch (Exception e) {       
  18.   
  19. }     




服務(wù)端處理數(shù)據(jù)成功,設(shè)置返回信息:

Java代碼
  1. //success回調(diào)函數(shù)將調(diào)用執(zhí)行,輸出respText.info信息   
  2.   
  3. rsp.setContentType("text/json; charset=utf-8");   
  4.   
  5. rsp.getWriter().write(   
  6.         "{success:true,info:'更新信息成功'}"+",");   




服務(wù)器端處理數(shù)據(jù)失敗,設(shè)置返回信息:

Java代碼
  1. rsp.setContentType("text/json; charset=utf-8");   
  2.   
  3. rsp.getWriter().write(   
  4.     "{success:false,error:'更新信息失敗,原因?yàn)?" + err + "'}");   
  5. rsp.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);     //設(shè)置失敗標(biāo)識(shí)  
  6.   
  7. //failure回調(diào)函數(shù)將調(diào)用執(zhí)行,輸出respText.error信息  

折騰了一晚上,也沒(méi)弄明白為什么把success置了false,還是不執(zhí)行failure,或者把failure置為true,也還是不執(zhí)行。

早上到晚上一看,原來(lái)ajax中的success或是failure和那個(gè)沒(méi)關(guān)系,只要執(zhí)行中response返回的status為200,都是會(huì)執(zhí)行success里面的函數(shù)的,

只有通過(guò)下面代碼設(shè)置status狀態(tài)后,才會(huì)執(zhí)行failure

//response.setStatus(500);

 

Ext.form.Action.Submit的配置選項(xiàng)success、failure是根據(jù)返回json中success屬性判斷的,如果success為true,則success,false則failure,如果無(wú)json中無(wú)success屬性,failure,故要提示操作是否成功,必須要返回success屬性。

Ext.Ajax.request的配置選項(xiàng)
success、failure是
根據(jù)response的status屬性,即狀態(tài)碼決定的,200則為success,404或500等則為failure。




Sample2:

Java代碼
  1.  <script type="text/javascript">   
  2.     Ext.onReady(function(){   
  3.         Ext.Msg.confirm("record!","OYE",function(btn){   
  4.             if(btn=="yes"){   
  5.                 var rs = new Ext.data.Record({id:"1",name:"aaa"});   
  6.                 Ext.Ajax.request({   
  7.                     params:rs.data,   
  8.                     url:"rs.jsp",   
  9.                     method:"post",   
  10.                     success:function(resp){   
  11.                         var res = resp.responseText;   
  12.                         Ext.Msg.alert("attention","Success! /""+res+"/"");   
  13.                     },   
  14.                     failure:function(){   
  15.                         Ext.Msg.alert("attention","Failure!");   
  16.                     }   
  17.                 });   
  18.             }   
  19.         });   
  20.     });   
  21. </script>  



html代碼:

Html代碼
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
  2. <html><head><title>TITLE</title></head><body>  
  3. <%   
  4.  String id = request.getParameter("id");   
  5.  String name = request.getParameter("name");   
  6.  out.println("id = "+id+" and name = "+name);   
  7.  String date = new Date().toString();   
  8.  out.print(date);   
  9. %>  
  10.   
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
spring security 3中關(guān)于ajax的處理
extJs常用的四種Ajax異步提交
系統(tǒng)權(quán)限模塊設(shè)計(jì)(ps:有圖有真相!)
ext 細(xì)節(jié)復(fù)習(xí)
EXT2.0初學(xué)筆記
Manual:RESTful Web Services (Chinese)
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服