GVKun编程网logo

extjs4 – 从ajax商店读取ExtJS消息(使用ajax读取数据,并显示到网页中)

5

如果您对extjs4–从ajax商店读取ExtJS消息感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于extjs4–从ajax商店读取ExtJS消息的详细内容,我们还将为您解

如果您对extjs4 – 从ajax商店读取ExtJS消息感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于extjs4 – 从ajax商店读取ExtJS消息的详细内容,我们还将为您解答使用ajax读取数据,并显示到网页中的相关问题,并且为您提供关于ExtJS 2.0实用简明教程 之ExtJS版的Hello_extjs、ExtJS 2.0实用简明教程 之获得ExtJS_extjs、ExtJS 2.0实用简明教程之应用ExtJS_extjs、Extjs Ajax 乱码问题解决方案_extjs的有价值信息。

本文目录一览:

extjs4 – 从ajax商店读取ExtJS消息(使用ajax读取数据,并显示到网页中)

extjs4 – 从ajax商店读取ExtJS消息(使用ajax读取数据,并显示到网页中)

我有一个带有ajax代理和json阅读器的ExtJS商店:
Ext.create('Ext.data.Store',{
    proxy: {
        type: 'ajax',url: '...',reader: {
            type: 'json',root: 'data',totalProperty: 'totalCount',messageProperty: 'message',successproperty: 'success'
        },...

这是我从服务器获得的:

data: [...]
message: "I want to read this string after the store is loaded"
success: true
totalCount: x

现在我想在加载商店时访问“消息” – 我从哪里获得它?我看了很多,但我找不到一个可以挂钩的地方?代理中唯一的侦听器是异常,这对我没有帮助.

解决方法

使用商店 load活动:
Ext.create('Ext.data.Store',{
  listeners: {
    'load': function(store,records,successful,operation) {
      alert(operation.resultSet.message);
    }
  },proxy: {
  // ...

UPDATE

似乎加载事件的文档是错误的.正确的参数列表是(存储,记录,成功)(无操作参数).因此上述解决方案无效.

但是有读者的rawData属性可以帮助:

Ext.create('Ext.data.Store',successful) {
      alert(store.getProxy().getReader().rawData.message);
    }
  },proxy: {
  // ...

ExtJS 2.0实用简明教程 之ExtJS版的Hello_extjs

ExtJS 2.0实用简明教程 之ExtJS版的Hello_extjs

复制代码 代码如下:




ExtJS



<script> <BR>Ext.onReady(function() <BR>{ <BR>Ext.MessageBox.alert("hello","Hello,easyjf open source"); <BR>}); <BR></script>






进一步,我们可以在页面上显示一个窗口,代码如下:
复制代码 代码如下:

<script> <BR>Ext.onReady(function() <BR>{ <BR>var win=new Ext.Window({title:"hello",width:300,height:200,html:''<h1>Hello,easyjf open source''}); <BR>win.show(); <BR>}); <BR></script>

在浏览hello.html,即可得在屏幕上显示一个窗口,如图xxx所示。

ExtJS 2.0实用简明教程 之获得ExtJS_extjs

ExtJS 2.0实用简明教程 之获得ExtJS_extjs

网址http://extjs.com/download,进入下载页面可以看到大致如图xxx所示的内容,可以选择选择1.1或2.0版本,本教程使用的2.0版本。 

图1-1 ExtJs不同版本下载选择页面

        单击上图中的【Download ext-2.0.zip】超链接进行下载,把下载得到的ZIP压缩文件解压缩到【D:\ExtCode】目录下,可以得到如如图1-2所示的内容。

图1-2 ExtJS发布包目录

         adapter:负责将里面提供第三方底层库(包括Ext自带的底层库)映射为Ext所支持的底层库。
   build:  压缩后的ext全部源码(里面分类存放)。
   docs:  API帮助文档。
   exmaples:提供使用ExtJs技术做出的小实例。
   resources:Ext UI资源文件目录,如CSS、图片文件都存放在这里面。
   source: 无压缩Ext全部的源码(里面分类存放) 遵从Lesser GNU (LGPL) 开源的协议。
   Ext-all.js:压缩后的Ext全部源码。
   ext-all-debug.js:无压缩的Ext全部的源码(用于调试)。
  ext-core.js:压缩后的Ext的核心组件,包括sources/core下的所有类。
  ext-core-debug.js:无压缩Ext的核心组件,包括sources/core下的所有类。

ExtJS 2.0实用简明教程之应用ExtJS_extjs

ExtJS 2.0实用简明教程之应用ExtJS_extjs

样式文件为resources/css/ext-all.css,extjs的js库文件主要包含两个,adapter/ext/ext-base.js及ext-all.js,其中ext-base.js表示框架基础库,ext-all.js是extjs的核心库。adapter表示适配器,也就是说可以有多种适配器,因此,可以把adapter/ext/ext-base.js换成adapter/jquery/ext-jquery-adapter.js,或adapter/prototype/ext-prototype-adapter.js等。
因此,要使用ExtJS框架的页面中一般包括下面几句:

复制代码 代码如下:





在ExtJS库文件及页面内容加载完后,ExtJS会执行Ext.onReady中指定的函数,因此可以用,一般情况下每一个用户的ExtJS应用都是从Ext.onReady开始的,使用ExtJS应用程序的代码大致如下:
复制代码 代码如下:

<script> function fn() { alert(‘ExtJS库已加''); } Ext.onReady(fn); </script>

fn也可以写成一个匿名函数的形式,因此上面的代码可以改成下面的形式:
复制代码 代码如下:

<script> function fn() { alert(‘ExtJS库已加载!''); } Ext.onReady(function () { alert(‘ExtJS库已加载!''); } );</script>

Extjs Ajax 乱码问题解决方案_extjs

Extjs Ajax 乱码问题解决方案_extjs

在一次页面浏览过程中,客户端对一个URL发起浏览请求,服务端针对这次请求进行解析,而在字符编码解析方面,首先他检查该页面中的字符编码设置,即,这样,在页面中显示声明了字符编码为UTF-8,服务器就会将该页面用UTF-8的编码输出,而如果页面中没有显示声明,在服务器中都有一个默认的字符编码,比如GB2312,针对没有声明的文件,他会用默认编码输出,这个时候,如果页面输出又是UTF-8,这样就会出现乱码。
  而在Ext中的提交数据的过程中,Ext框架用的是都是UTF-8编码,而且通过JSON提交的数据也是UTF-8编码,所以要求所有的文件都是UTF-8编码。
解决乱码的方法
以下几项首先必须要在平时的编码过程中做到:
  (1) JAVA后台文件加入 response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
  (2)在文件中显示声明字符编码,
  (3)对于提交中出现的乱码,在Ext中可以修改Request Header中Content-Type的设置,具体的方法为:Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";
  最后,问题还可能出现在文件的保存格式上。就是你把代码文件保存的时候,如果开发环境默认保存的不是UTF-8格式,那么也会出现问题! 所以就要对开发环境也有一个要求。
开发环境的配置
如果采用记事本来编写保存代码文件(.js),那这个就会出问题,主要是由于在windows系统里记事本默认的编码格式是ANSI,这样基本上和目前网页中编码的格式都不同因此就会出现编码格式不正确的问题。解决办法就是打开xx.js文件然后另存为,在保存类型处选择utf-8编码格式就可以了。
当然,主流还是使用MyEclipse,所以说一下MyEclipse里要配置哪些地方。
Preferences->General->Content Types 选中Text 编辑下面的Default encoding 为utf-8然后Update。
Preferences->General->Content Types->Editors->Text Editors->Spelling 下Encoding 选 Default(UTF-8)
Preferences->General->Content Types->Workspace下Text File Encoding 选 Other: UTF-8
最后如果还出现乱码 , 利用
System.out.print(request.getCharacterEncoding());
System.out.print(response.getCharacterEncoding());
察看request 或 response 编码是否不是utf-8
若不是,利用web.xml中的 filter 解决.


no
EncodingFilter
EncodingFilter

com.hope.filters.SetCharacterEncodingFilter


encoding
utf-8


或者设置

Good Luck!

今天关于extjs4 – 从ajax商店读取ExtJS消息使用ajax读取数据,并显示到网页中的分享就到这里,希望大家有所收获,若想了解更多关于ExtJS 2.0实用简明教程 之ExtJS版的Hello_extjs、ExtJS 2.0实用简明教程 之获得ExtJS_extjs、ExtJS 2.0实用简明教程之应用ExtJS_extjs、Extjs Ajax 乱码问题解决方案_extjs等相关知识,可以在本站进行查询。

本文标签:

上一篇AjaxOptions OnSuccess回调参数不起作用(ajax回调函数参数)

下一篇如何通过ajax从php传回变量(ajax向php传值)