Maison interface Web js tutoriel extjs 学习笔记(一) 一些基础知识_extjs

extjs 学习笔记(一) 一些基础知识_extjs

May 16, 2016 pm 06:44 PM
extjs 基础知识 学习笔记

我在项目中已经频繁使用了jquery,这次主要是学习使用extjs,但现有的教程基本都是针对2.0的,而且后台用到的语言也很少是.net平台下的C#,所以我打算针对3.0版,后台使用C#,记录下自己的学习过程,希望能和志同道合的朋友一起探讨,共同进步。
extjs的官方网站是http://www.extjs.com,目前最高版本是3.0.2,但是只有3.0.0的才没有任何下载限制,可以点击这里下载3.0版的。下载来的压缩包里边包含压缩后的extjs库,调试时用到的库,具有可读性的源代码,文档和例子。在开始之前,不妨先看下examples文件夹下的例子,对extjs有一个感性的认识,如果你觉得例子里边的效果让你心动,那么就一起开始extjs的学习之旅吧。
首先明确下我们需要引用的文件,包括adpter/ext/ext-base-debug.js,ext-all-debug.js和整个resource文件夹,当然,多数情况下,我们还需要ext-lang-zh_CN.js进行中文的本地化,该文件在src/locale目录下。因为是学习阶段,所以我们使用了debug版本,在实际的项目中,发布的时候要使用压缩后的版本以减小文件体积。接下来,我们就秉承编程界的一贯传统,开始我们的第一个Hello world程序。
新建一个文本文件,文件名改为Hello.htm,用文本编辑器打开,写下如下代码:

Hello.htm

复制代码 代码如下:




Extjs hello world dialog











daben.js的内容如下:
复制代码 代码如下:

/**//*
*作者:大笨
*日期:2009-10-10
*版本:1.0
*/
Ext.onReady(function(){
Ext.MessageBox.alert("信息","Hello world");
});

使用ie或者ff打开Hello.htm,可以看到一个弹出的对话框,和js的alert对话框一样,但是漂亮了许多。
我们看看代码,在html页面中首先引用extjs的相关库文件,注意引用顺序,接下来是引用我们自己的js文件。我们简单看下,Ext.onReady是在文档加载完之后触发的,它有一个参数是一个函数类型,该函数在事件出发的时候被调用。在这里我们用了匿名的函数,当然也可以把函数在外部定义好,然后把函数的名字作为参数传递进来。Ext.MessageBox.alert是一个弹出消息的对话框函数,第一个参数是标题,第二个参数是对话框的内容。Ext.Message类下还有模拟js的prompt对话框和comfirm对话框的方法,我们改动下daben.js看看confirm方法的效果:
复制代码 代码如下:

Ext.onReady(function(){
//Ext.MessageBox.alert("信息","Hello world");
Ext.MessageBox.confirm("comfirm","模拟js的comfirm对话框",function(btn){
alert("点击了"+btn+"按钮");
});
});


光看对话框并不是很有趣,实际的web程序中,需要向服务器提交数据并根据服务器的响应来更新页面中的内容,我们来看看extjs是如何实现的。下边的例子中,我们将在页面上放置一个编辑框和一个按钮,当点击按钮之后,服务器将编辑框中输入的内容转化为大写并显示在页面的一个div中。打开vs2008,新建一个web应用程序ExtjsDemo,删掉自动添加的default.aspx文件。添加我们的hello.htm和daben.js文件以及我们要用到的extjs库,添加完成后如图所示:

可以看到在js目录下边,加了一个vvswd-ext_2.0.2.js的文件,从这里可以下载,这个文件可以实现vs2008对于extjs库的智能提示,方便编程(不过我没找到针对3.0版的,如果哪位朋友找到了麻烦发一份给我)。我们先来看下extjs中实现和服务器端通信的一个函数Ext.Ajax.request,该函数接受一个json对象作为参数,该对象有几个常用的属性:
    url:字符串类型,指明请求的地址
    params:请求时传递给服务器段的参数,可以是对象,字符串
    method:请求的方法,字符串类型,“GET"或者"POST",注意必须是大写的
    success:函数类型,请求成功后会执行的函数,该函数有一个参数,是一个包含服务器端响应数据的XMLHttpRequest 对象
    failure:函数类型,请求失败后会执行的函数,该函数有一个参数,是一个包含服务器端响应数据的XMLHttpRequest 对象
    callback:函数类型,无论请求的结果如何都会执行
    好,我们就具体来看看extjs是如何实现和服务器端的交互吧。先把我们的hello.htm页面做如下改动:
复制代码 代码如下:




Extjs hello world dialog












然后是更改我们的daben.js文件了,改动之后的代码如下:
复制代码 代码如下:

///
/**//*
*作者:大笨
*日期:2009-10-10
*版本:1.0
*/

Ext.onReady(function() {
//Ext.MessageBox.alert("信息","Hello world");
/**//*Ext.MessageBox.confirm("comfirm","模拟js的comfirm对话框",function(btn){
alert("点击了"+btn+"按钮");
});*/
Ext.get("btn").on("click", function() {
var data = Ext.fly("txt").getValue();
if (data == "") {
Ext.Msg.alert("警告", "请输入字符串");
}
else {
Ext.Ajax.request({
url: "hello.aspx",
params: { data: data },
method: "POST",
success: function(response) {
Ext.fly("div").update(response.responseText);
},
failure: function(response) {
Ext.Msg.alert("错误", "请求失败,错误代码为:" + response.status);
}
});
}
});
});

我们来简单分析下这个文件:第一行是为了使用vs的智能提示,注意把路径写对,而且必须要加在第一行。Ext.onReady已经介绍过了,Ext.fly是Ext.Element.fly的简写,该方法可以根据id获得Element对象,Element类是Ext中一个非常重要的类,它对Dom进行了封装,增加了一些操作以方便使用,并且兼容主流浏览器。getValue是Element类的方法,获得元素的值,比较郁闷的是没有相应的setValue方法,所以在后边使用了update方法来更新元素的值。在向服务器端传值之前进行客户端的验证是一个良好的编程习惯,这里只是简单进行了字符串不为空的验证,然后就使用了前边说到的Ext.Ajax.request方法了,使用这个方法向页面hello.aspx以post方式发送了数据,我们这里是以json对象的形式发送的,也可以写成字符串形式,对于成功的响应,把响应的文本显示在div中,对于失败的响应,弹出一个对话框并且给出了错误码。
接下来要进行服务器端的编程了。服务器端可以通过两种方式接受客户端传递过来的数据并且作出响应:使用aspx页面和web服务。我们先介绍如何使用aspx页来进行处理。在项目中增加一个页面Hello.aspx,把页面中除了第一行的页面处理指令部分全部删去。按下F7切换到代码页,开始编写后台的代码。我们首先通过Request.Params["data"]来获取前台传递过来的数据,同样,在对数据进行处理之前我们先进行数据的有效性验证,这里只是简单判断了是否为空或者空字符串,然后我们就将处理后的结果用Response.Write方法发送给客户端。后台代码如下:
复制代码 代码如下:

using System;

/**//*
*作者:大笨
*日期:2009-10-10
*版本:1.0
*/
namespace ExtjsDemo
{
public partial class Hello : System.Web.UI.Page
{
页面加载#region 页面加载
/**////
/// 页面加载
///

///
///
protected void Page_Load(object sender, EventArgs e)
{
string data = Request.Params["data"];
if(!string.IsNullOrEmpty(data))
{
Response.Write(data.ToUpper());
}
}
#endregion
}
}

运行后在编辑框输入字符串,可以看到在下边的div里边以大写的形式显示了出来,通过FF的Firebug我们可以看到数据的交互。
除了使用aspx页面来接受并处理客户端传递过来的数据,我们还可以使用web服务的方式来进行。在项目中添加一个web服务,代码如下:
复制代码 代码如下:

using System;
using System.Web.Services;

/**//*
*作者:大笨
*日期:2009-10-10
*版本:1.0
*/

namespace ExtjsDemo
{
/**////
/// HelloService 的摘要说明
///

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class HelloService : System.Web.Services.WebService
{
将传入的字符串改为大写#region 将传入的字符串改为大写
/**////
/// 将传入的字符串改为大写
///

/// 需要转为大写的字符串
/// 大写字符串
[WebMethod]
public string ToUpper(string data)
{
if(!string.IsNullOrEmpty(data))
return data.ToUpper();
throw new Exception("字符串不能为空!");
}
#endregion
}
}

当然,默认情况下,web服务是以xml格式来传递数据的,我们可以通过Firebug看到。xml很好很强大,不过有时我们只需要更小巧的json就足够了,那么如何让web服务传递的是json格式呢?我们只需要把请求头中的Content-Type设置为application/json并且把参数使用Ext.util.JSON.encode进行编码或者使用jsonData来代替params.
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Notes d'étude PHP : structures de données et algorithmes Notes d'étude PHP : structures de données et algorithmes Oct 09, 2023 pm 11:54 PM

Notes d'étude PHP : Présentation des structures de données et des algorithmes : Les structures de données et les algorithmes sont deux concepts très importants en informatique. Ils sont la clé pour résoudre les problèmes et optimiser les performances du code. Dans la programmation PHP, nous devons souvent utiliser diverses structures de données pour stocker et exploiter les données, et nous devons également utiliser des algorithmes pour implémenter diverses fonctions. Cet article présentera certaines structures de données et algorithmes couramment utilisés et fournira des exemples de code PHP correspondants. 1. Tableau de structure linéaire (Array) Le tableau est l'une des structures de données les plus couramment utilisées et peut être utilisé pour stocker des données ordonnées.

Une lecture incontournable pour apprendre MySQL ! Explication détaillée des connaissances de base des instructions SQL Une lecture incontournable pour apprendre MySQL ! Explication détaillée des connaissances de base des instructions SQL Jun 15, 2023 pm 09:00 PM

MySQL est un système de gestion de bases de données relationnelles open source largement utilisé dans le développement d'applications Web et le stockage de données. L'apprentissage du langage SQL de MySQL est très nécessaire pour les gestionnaires de données et les développeurs. Le langage SQL est la partie centrale de MySQL, donc avant d'apprendre MySQL, vous devez avoir une compréhension complète du langage SQL. Cet article vise à vous expliquer en détail les connaissances de base des instructions SQL, afin que vous puissiez comprendre les instructions SQL étape par étape. étape. SQL est l'abréviation de Structured Query Language, utilisé dans les données relationnelles.

Apprendre à partir de zéro : maîtriser les bases du langage Go Apprendre à partir de zéro : maîtriser les bases du langage Go Feb 01, 2024 am 08:45 AM

Partir de zéro : introduction aux bases de l'apprentissage du langage Go Le langage Go, également connu sous le nom de Golang, est un langage de programmation open source développé par Google. Il a été lancé en 2009 et est rapidement devenu un langage populaire, notamment dans des domaines tels que le développement Web, les systèmes distribués et le cloud computing. Le langage Go est célèbre pour sa simplicité, son efficacité et sa forte concurrence. Syntaxe de base 1. Variables et constantes Dans le langage Go, les variables et les constantes sont saisies. Les variables peuvent stocker des données, tandis que les constantes ne peuvent pas être modifiées. Le format de déclaration des variables est : v

Notes d'étude PHP : développement de systèmes de forums et de blogs Notes d'étude PHP : développement de systèmes de forums et de blogs Oct 09, 2023 am 10:57 AM

Notes d'étude PHP : Développement de systèmes de forums et de blogs Dans le domaine du développement Web, les forums et les systèmes de blogs sont des applications très courantes. Ils fournissent une plate-forme permettant aux utilisateurs de communiquer et de partager des informations. Dans cet article, nous expliquerons comment utiliser PHP pour développer un système simple de forum et de blog, et joindrons des exemples de code spécifiques. Configuration de l'environnement Tout d'abord, nous devons configurer un environnement de développement adapté au développement PHP. Nous pouvons utiliser des packages AMP (Apache, MySQL et PHP) comme XAMPP ou WAM

Quels concepts de base faut-il comprendre pour apprendre le canevas ? Quels concepts de base faut-il comprendre pour apprendre le canevas ? Jan 17, 2024 am 10:37 AM

De quelles connaissances de base avez-vous besoin pour apprendre le canevas ? Avec le développement de la technologie Web moderne, l’utilisation de la balise <canvas> en HTML5 pour dessiner est devenue courante. Canvas est un élément HTML utilisé pour dessiner des graphiques, des animations et d'autres images, qui peuvent être manipulés et contrôlés à l'aide de JavaScript. Si vous souhaitez apprendre le canevas et maîtriser ses connaissances de base, ce qui suit vous le présentera en détail. Bases HTML et CSS : avant d'apprendre Canvas

Comment utiliser PHP et ExtJS pour implémenter de puissantes fonctions d'application Web Comment utiliser PHP et ExtJS pour implémenter de puissantes fonctions d'application Web Jun 25, 2023 am 11:40 AM

Avec le développement continu et la popularité des applications Web, de plus en plus d'entreprises et de particuliers commencent à utiliser PHP et ExtJS pour créer de puissantes applications Web. En tant que langage de script côté serveur populaire, PHP est multiplateforme et facile à apprendre, tandis qu'ExtJS est un framework frontal populaire qui peut aider les développeurs à créer rapidement des interfaces d'applications Web interactives. Cet article explique comment utiliser PHP et ExtJS pour implémenter de puissantes fonctions d'application Web. Établir des connexions aux bases de données PHP et MySQL à utiliser

Quelques connaissances de base du framework Yii Quelques connaissances de base du framework Yii Jun 21, 2023 pm 07:07 PM

Yii est un framework PHP orienté objet populaire. Son nom complet est « YesItIs », ce qui signifie « Oui, c'est comme ça ». Il est conçu pour être efficace, rapide, sécurisé et facile à utiliser, c'est pourquoi il est largement utilisé dans le développement d'applications Web à grande échelle. Dans cet article, nous présenterons quelques connaissances de base du framework Yii pour aider les novices à mieux comprendre ce framework. Architecture MVC Le framework Yii adopte un modèle de conception basé sur MVC (Model-View-Controller), qui

Guide du débutant sur la programmation Go : connaissances de base et applications pratiques Guide du débutant sur la programmation Go : connaissances de base et applications pratiques Jan 23, 2024 am 09:31 AM

Démarrage rapide de la programmation Go : connaissances de base et guide pratique Go, en tant que langage de programmation émergent, est privilégié par les développeurs pour sa simplicité, son efficacité et sa concurrence. Que vous soyez débutant ou développeur ayant une certaine expérience en programmation, cet article vous guidera rapidement dans la programmation Go et vous fournira des directives pratiques et des exemples de code spécifiques. 1. Installez l'environnement du langage Go. Pour démarrer la programmation dans le langage Go, vous devez d'abord installer l'environnement du langage Go sur votre ordinateur. Vous pouvez le télécharger depuis le site officiel de Go (https://golang

See all articles