EXTJS 同步和异步请求
同步方式请求:
- var conn = Ext.lib.Ajax.getConnectionObject().conn;
- conn.open( "GET" , 'your url' , false );
- conn.send( null );
- alert(conn.responseText);
- var respText = Ext.decode(conn.responseText); //若符合JSON规范,转化为JSON数组
或者
-
var conn = Ext.lib.Ajax.getConnectionObject().conn;
-
conn.open("POST", url, false);
-
conn.send("发送到服务器端的信息");
-
data = conn.responseText;
-
alert(data);
-
var respText = Ext.decode(conn.responseText); //若符合JSON规范,转化为JSON数组
关键是要设置false这个参数
异步方式请求:
- Ext.Ajax.request({
- url : 'listpublishersms.action' ,
- success : function (response, options) {
- var temp = "<chart caption='"
- + startField.getValue().dateFormat( "Y-m-d" )
- + "至"
- + endField.getValue().dateFormat( "Y-m-d" )
- + "' baseFontSize='12' formatNumberScale='0' showBorder='1'>" ;
- var responseArray = Ext.util.JSON
- .decode(response.responseText);
- alert(responseArray.list.length);
- for ( var i = 0;i < responseArray.list.length ;i++) {
- var pname = responseArray.list[i].pname;
- var count = responseArray.list[i].count;
- temp += "<set label='" + pname
- + "' value='" + count + "'/>" ;
- }
- temp += "</chart>" ;
- chart_chart.setDataXML(temp);
- }
- });
Ext.decode()是将json字符串转换成对象;Ext.encode()是将对象转换成json字符串