AJAX提交数据的三种方式,80%人都没用过第三种
AJAX提交数据的三种方式,80%人都没用过第三种
参考资料
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测试数据'
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测试数据'
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测试数据'
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 });
备注
这里没有总结着三种方式的使用场景,请大家给我个建议吧。我大概的想法是这样的。
获取数据:如果参数少用第一种,否则就用第二种。多少看浏览器的限制。 发送数据:如果数据少就用第二种,否则就用第三种。多少看浏览器的限制。
作者: Leo_wl
出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于AJAX提交数据的三种方式,80%人都没用过第三种的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did45944