<1>Ajax交互方式
Ext.Ajax.request(
{
//被用来向服务器发起请求默认的url
url : "",
//请求时发送后台的参数,既可以是Json对象,也可以直接使用“name = value”形式的字符串
params : {
name:'value'
},
//请求时使用的默认的http方法
method : "post",
//请求成功时回调函数
success : function() {
Ext.ux.Toast.msg("信息提示", "成功删除所选记录!");
},
//请求失败时回调函数
failure : function() {
Ext.ux.Toast.msg("信息提示", "信息删除出错,请联系管理员!");
}
}
);
<2>Form交互方式
this.formPanel = new Ext.FormPanel({
url : ""
}
);
//提交数据
formPanel.getForm().submit(
{
method : "post",
params : {
name:'value'
},
waitMsg : "正在提交数据",
success : function(b, c) {
Ext.ux.Toast.msg("操作信息", "提交成功!");
},
failure : function(b, c) {
Ext.ux.Toast.msg("操作信息", "提交失败!");
}
}
);
//加载数据
formPanel.getForm().load(
{
deferreRender : false,
url : "",
method : "post",
waitMsg : "正在载入数据",
success : function(e, g) {
var num = g.result.data.num;
var numCmp = Ext.getCmp("num");
numCmp.setValue(num);
Ext.ux.Toast.msg("操作信息", "载入成功");
},
failure : function(a, b) {
Ext.ux.Toast.msg("操作信息", "载入失败");
}
}
);
三 ev al函数的工作原理
ev
举例说明
- ev
al评估JavaS cript表达式
var bar = 'bar'; var foobar = eval('"foo" + bar'); alert(foobar);
- ev
al评估JavaS cript语句
var bar = 'bar'; // if variable bar equals 'bar', foobar is the result of // last executing statement: bar="foo-bar"; var foobar = eval('if(bar == "bar") {bar="foo-bar";} else {bar = "bar-foo";}'); alert(foobar);// change the valuebar = 'foo'; // now our the last executed statement is: bar = "bar-foo"; // therefore the value of variable foobar has been changed // into 'bar-foo' foobar = eval('if(bar == "bar") {bar="foo-bar";} else {bar = "bar-foo";}'); alert(foobar);
JSON的格式
JSON的格式是由大括号和由冒号(:)构成的名值对所组成的。注意JSON格式与对象字面量 (object literals) 的区别:JSON的名字部分严格用引号+名字来表示。
举例说明
- 对象的字面量
var objectLiteral = { name: "Objector.L", age: "24", special: "JavaScript", sayName: function() { return this.name; } };
- JSON对象
var jsonFormat = { "summary": "Blogs", "blogrolls": [ { "title": "Explore JavaScript", "link": "http://example.com/" }, { "title": "Explore JavaScript", "link": "http://example.com/" } ] };
ev
由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaS
var jsonObject = eval("(" + jsonFormat + ")");
为什么要加括号?
加上圆括号的目的是迫使ev
alert(eval("{}"); // return undefined alert(eval("({})");// return object[Object]
JSON格式的名字部分为什么要加引号?
因为ev
举例说明
- ev
al错误解析语义
alert(eval('{foo:"bar"}')); // return "bar", incorrect
- ev
al正确解析JSON
alert(eval('({"foo": "bar"})')); // return JSON object, correct
结论
理解ev
following this format:
eval('{' + jsonString + ')');