Leo_wl

参考资料

HTTP:https://zh.wikipedia.org/wiki/HTTP

MIME:https://zh.wikipedia.org/wiki/MIME

国内博文:http://blog.csdn.net/gueter/article/details/1524447

第一种方式

示例代码

复制代码
 1 var data = {
 2     name: \'段光伟\',
 3     email: \'shijiucha@qq.com\'
 4 };
 5 
 6 Ext.Ajax.request({
 7     url: \'../handlers/GetData.ashx\',
 8     method: \'GET\',
 9     params: { users: Ext.encode(data) }
10 });
复制代码

 执行结果

服务器端代码

1 context.Response.Write(context.Request.QueryString["users"]);

第二种方式

示例代码

复制代码
 1 var data = {
 2     name: \'段光伟\',
 3     email: \'shijiucha@qq.com\'
 4 };
 5 
 6 Ext.Ajax.request({
 7     url: \'../handlers/GetData.ashx\',
 8     method: \'POST\',
 9     params: { users: Ext.encode(data) }
10 });
复制代码

执行结果

服务器端代码

1 context.Response.Write(context.Request.Form["users"]);

第三种方式

示例代码

复制代码
 1 var data = {
 2     name: \'段光伟\',
 3     email: \'shijiucha@qq.com\'
 4 };
 5 
 6 Ext.Ajax.request({
 7     url: \'../handlers/GetData.ashx\',
 8     method: \'POST\',
 9     jsonData: data
10 });
复制代码

 执行结果

服务器端代码

1 StreamReader sr = new StreamReader(context.Request.InputStream);
2 context.Response.Write(sr.ReadToEnd());

ExtJs中Proxy的配置

配置为第一种方式的代码

复制代码
 1 Ext.define(\'Demo.model.User\', {
 2     extend: \'Ext.data.Model\',
 3     fields: [
 4         { name: \'name\' },
 5         { name: \'email\' }
 6     ],
 7     proxy: {
 8         type: \'ajax\',
 9         api: {
10             create: \'../handlers/GetData.ashx\'
11         },
12         actionMethods: {
13             create : \'GET\',
14             read   : \'GET\',
15             update : \'GET\',
16             destroy: \'GET\'
17         },
18         reader: {
19             type: \'json\',
20             root: \'users\'
21         },
22         writer: {
23             type: \'json\',
24             encode: true,
25             root: \'users\'
26         }
27     }
28 });
复制代码

配置为第二种方式的代码

复制代码
 1 Ext.define(\'Demo.model.User\', {
 2     extend: \'Ext.data.Model\',
 3     fields: [
 4         { name: \'name\' },
 5         { name: \'email\' }
 6     ],
 7     proxy: {
 8         type: \'ajax\',
 9         api: {
10             create: \'../handlers/GetData.ashx\'
11         },
12         reader: {
13             type: \'json\',
14             root: \'users\'
15         },
16         writer: {
17             type: \'json\',
18             encode: true,
19             root: \'users\'
20         }
21     }
22 });
复制代码

配置为第三种方式的代码

复制代码
 1 Ext.define(\'Demo.model.User\', {
 2     extend: \'Ext.data.Model\',
 3     fields: [
 4         { name: \'name\' },
 5         { name: \'email\' }
 6     ],
 7     proxy: {
 8         type: \'ajax\',
 9         api: {
10             create: \'../handlers/GetData.ashx\'
11         },
12         reader: {
13             type: \'json\',
14             root: \'users\'
15         }
16     }
17 });
复制代码

备注

这里没有总结着三种方式的使用场景,请大家给我个建议吧。我大概的想法是这样的。

  • 获取数据:如果参数少用第一种,否则就用第二种。多少看浏览器的限制。
  • 发送数据:如果数据少就用第二种,否则就用第三种。多少看浏览器的限制。
posted on 2013-04-28 17:09  HackerVirus  阅读(170)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章: