当前位置: 代码迷 >> Web前端 >> Ext同步与异步请求(转从garnettcwm)
  详细解决方案

Ext同步与异步请求(转从garnettcwm)

热度:196   发布时间:2012-11-04 10:42:41.0
Ext同步与异步请求(转自garnettcwm)

EXTJS?同步和异步请求


同步方式请求:

  1. var ?conn?=?Ext.lib.Ajax.getConnectionObject().conn;
  2. conn.open( "GET" ,? 'your?url' , false );
  3. conn.send( null );
  4. alert(conn.responseText);
  5. var respText = Ext.decode(conn.responseText);? //若符合JSON规范,转化为JSON数组

或者

  1. var conn = Ext.lib.Ajax.getConnectionObject().conn;
  2. conn.open("POST", url, false);
  3. conn.send("发送到服务器端的信息");
  4. data = conn.responseText;
  5. alert(data);
  6. var respText = Ext.decode(conn.responseText);? //若符合JSON规范,转化为JSON数组

关键是要设置false这个参数

异步方式请求:

  1. Ext.Ajax.request({
  2. ????????????url?:? 'listpublishersms.action' ,
  3. ????????????success?:? function (response,?options)?{
  4. ?????????????????????????? var ?temp?=? "<chart?caption='"
  5. ????????????????????????????+?startField.getValue().dateFormat( "Y-m-d" )
  6. ????????????????????????????+? "至"
  7. ????????????????????????????+?endField.getValue().dateFormat( "Y-m-d" )
  8. ????????????????????????????+? "'?baseFontSize='12'?formatNumberScale='0'?showBorder='1'>" ;
  9. ???????????????????????????? var ?responseArray?=?Ext.util.JSON
  10. ????????????????????????????????????.decode(response.responseText);
  11. ????????????????????????????alert(responseArray.list.length);
  12. ???????????????????????????? for ?( var ?i?=?0;i?<?responseArray.list.length?;i++)?{
  13. ??????????????????????????????????????? var ?pname?=?responseArray.list[i].pname;
  14. ???????????????????????????????????????? var ?count?=?responseArray.list[i].count;
  15. ????????????????????????????????????????temp?+=? "<set?label='" ?+?pname
  16. ????????????????????????????????????????????+? "'?value='" ?+?count?+? "'/>" ;
  17. ????????????????????????????}
  18. ????????????????????????????temp?+=? "</chart>" ;
  19. ????????????????????????????chart_chart.setDataXML(temp);
  20. ????????????????????????}
  21. ????????????????????});?

Ext.decode()是将json字符串转换成对象;Ext.encode()是将对象转换成json字符串

  相关解决方案