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字符串