Ext.Ajax.request({ url:'http://localhost:8080/myapp/ExtHandler, jsonData:Ext.util.JSON.encode(info), params:{action:'up'}, success: function(resp,opts) { var respText = Ext.util.JSON.decode(resp.responseText); Ext.Msg.alert('提示', respText.info); }, failure: function(resp,opts) { var respText = Ext.util.JSON.decode(resp.responseText); Ext.Msg.alert('錯誤', respText.error); } });
代碼中的url參數指定的是一個Java Servlet,通過jsonData參數提交JSON格式的資料到Servlet處理,你也可以提交其它參數,在params參數中定義;然後根據伺服器的處理結果Ext.Ajax調用相應成功或失敗的回呼函數進行處理;
在Servlet中如何得到jsonData參數中定義的資料呢?看以下代碼:
StringBuffer json = new StringBuffer(); String line = null; try { BufferedReader reader = req.getReader(); while ((line = reader.readLine()) != null) { //讀取jsonData中定義的資料 json.append(line); }} catch (Exception e) { }
服務端處理資料成功,設定返回資訊:
rsp.setContentType("text/json; charset=utf-8");rsp.getWriter().write( "{success:false,error:'更新資訊失敗,原因為:" + err + "'}");rsp.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); //設定失敗標識//failure回呼函數將調用執行,輸出respText.error資訊
http://hi.baidu.com/jsjok/blog/item/5025573781c0300b90ef39e6.html