extjs用ajax传送数据的方法有post(用普通的表单或用json格式),get(用params).
在回传的时候用json(推荐方法) ,需要注意的是服务器必须要返回json格式,并且必须要设置success的值,当然你不这样也能,但是这种方式应该是官方提倡的方式.
这里主要总结json数据服务器回传的方法.
在api总指出回传的格式{success;true,data:{clientName: "Fred. Olsen Lines", portOfLoading:"FXT",portOfDischarge: "OSL" } }}}
需要注意的是这里的success和data是关键字,(姑且这么叫吧)在data中是数据在客户端通过
[color=red]Ext.decode(response.responseText).clientName获得.第一个回传数据.这[/color]里证明在用
success: function(response){}函数的时候,参数response是一个json字符串,通过Ext.decode解析了data的数据集.
//成功时回叫,第一个参数为XMLHttpRequest对象,第二个参数传入指定的options
所有,这里前后台的代码应该这样统一:
[color=red]后台(asp):
response.write "{success:false,data:{msg:'密码或用户名不能为空!'}}"
response.write "{success:true,data:{msg:'登陆成功!'}}"[/color]
[color=red]前台:
success: function(response,options){Ext.MessageBox.alert(' 提示',Ext.decode(response.responseText).msg);},
failure: function(response,options){Ext.MessageBox.alert('提示','Ext.decode(response.responseText).msg);},[/color]
[color=red]还可以:
Ext.util.JSON.decode(response.responseText); 这个也是对json编码的解析.[/color]
另外在网上还看到这样代码:
服务器:
{ success:false, errors:{errstr: '用户名或者密码错误'} }
客户端:
success : function(form, action) {//response,options
location.href = jmp.asp;//登陆成功后暂时用js做了跳转
},
failure : function(form, action) {//response,options
Ext.Msg.alert('登陆失败', action.result.errors.errstr);
},
并没有使用知道的data关键字,其实这样也可以.但是注意success这个关键字必须要使用.!!!!
这里不是很清楚,我猜测,前面的例子是用第一个参数获取,这里是用第二个参数获取.
给出Ext.Ajax.request方法
使用Ext.Ajax.request方法来进行的,该方法可以用来向服务器端发送一个http请求,并可以在回调函数中处理返回的结果。往远程服务器发送一个HTTP请求,发送Ajax调用的时候该方法的签名如下:
Ext.Ajax.rquest( [Object options] ) : Number
服务器的响应是异步的,因此需要在回调函数中处理服务器端返回的数据。回调函数可以定义在request方法调用的参数options中。另外,在request方法中可以定义Ajax请求的一些其它属性。参数options是一个对象,该对象包含了Ajax请求所需的各种参数及回调处理参数等。options中可以包含的各个属性及含义如下所示:
url String 指定要请求的服务器端url,默认值为Ajax对象中配置的URL参数值。
params Object/String/Function 指定要传递的参数,可以是一个包含参数名称及值的对象,也可以是name=xx&birthday=1978-1-1类似的url编码字符串,或者是一个能返回上述两种内容的函数。
method String 指定发送Ajax请求使用的method,可以是GET或POST方式。默认情况下,如果请求中没有传递任何参数则使用GET,否则使用POST。
callback Function 指定Ajax请求的回调函数,该函数不管是调用成功或失败,都会执行。传递给回调函数的参数有三个,第一个options表示执行request方法时的参数,第二个success表示请求是否成功,第三个参数response表示用来执行Ajax请求的XMLHttpRequest 对象。关于XMLHttpRequest可以通过
http://www.w3.org/TR/XMLHttpRequest/查询详细的信息。
success Function 指定当Ajax请求执行成功后执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
failure Function 指定当请求出现错误时执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
scope Object 指定回调函数的作用域,默认为浏览器window。
form Object/String 指定要提交的表单id或表单数据对象。
isUpload Boolean 指定要提交的表单是否是文件上传表单,默认情况下会自动检查。
headers Object 指定请求的Header信息。
xmlData Object 指定用于发送给服务器的xml文档,如果指定了该属性则其它地方设置的参数将无效。
jsonData Object/String 指定需要发送给服务器端的JSON数据。如果指定了该属性则其它的地方设置的要发送的参数值将无效。
disableCaching Boolean 是否禁止cache。
在回传的时候用json(推荐方法) ,需要注意的是服务器必须要返回json格式,并且必须要设置success的值,当然你不这样也能,但是这种方式应该是官方提倡的方式.
这里主要总结json数据服务器回传的方法.
在api总指出回传的格式{success;true,data:{clientName: "Fred. Olsen Lines", portOfLoading:"FXT",portOfDischarge: "OSL" } }}}
需要注意的是这里的success和data是关键字,(姑且这么叫吧)在data中是数据在客户端通过
[color=red]Ext.decode(response.responseText).clientName获得.第一个回传数据.这[/color]里证明在用
success: function(response){}函数的时候,参数response是一个json字符串,通过Ext.decode解析了data的数据集.
//成功时回叫,第一个参数为XMLHttpRequest对象,第二个参数传入指定的options
所有,这里前后台的代码应该这样统一:
[color=red]后台(asp):
response.write "{success:false,data:{msg:'密码或用户名不能为空!'}}"
response.write "{success:true,data:{msg:'登陆成功!'}}"[/color]
[color=red]前台:
success: function(response,options){Ext.MessageBox.alert(' 提示',Ext.decode(response.responseText).msg);},
failure: function(response,options){Ext.MessageBox.alert('提示','Ext.decode(response.responseText).msg);},[/color]
[color=red]还可以:
Ext.util.JSON.decode(response.responseText); 这个也是对json编码的解析.[/color]
另外在网上还看到这样代码:
服务器:
{ success:false, errors:{errstr: '用户名或者密码错误'} }
客户端:
success : function(form, action) {//response,options
location.href = jmp.asp;//登陆成功后暂时用js做了跳转
},
failure : function(form, action) {//response,options
Ext.Msg.alert('登陆失败', action.result.errors.errstr);
},
并没有使用知道的data关键字,其实这样也可以.但是注意success这个关键字必须要使用.!!!!
这里不是很清楚,我猜测,前面的例子是用第一个参数获取,这里是用第二个参数获取.
给出Ext.Ajax.request方法
使用Ext.Ajax.request方法来进行的,该方法可以用来向服务器端发送一个http请求,并可以在回调函数中处理返回的结果。往远程服务器发送一个HTTP请求,发送Ajax调用的时候该方法的签名如下:
Ext.Ajax.rquest( [Object options] ) : Number
服务器的响应是异步的,因此需要在回调函数中处理服务器端返回的数据。回调函数可以定义在request方法调用的参数options中。另外,在request方法中可以定义Ajax请求的一些其它属性。参数options是一个对象,该对象包含了Ajax请求所需的各种参数及回调处理参数等。options中可以包含的各个属性及含义如下所示:
url String 指定要请求的服务器端url,默认值为Ajax对象中配置的URL参数值。
params Object/String/Function 指定要传递的参数,可以是一个包含参数名称及值的对象,也可以是name=xx&birthday=1978-1-1类似的url编码字符串,或者是一个能返回上述两种内容的函数。
method String 指定发送Ajax请求使用的method,可以是GET或POST方式。默认情况下,如果请求中没有传递任何参数则使用GET,否则使用POST。
callback Function 指定Ajax请求的回调函数,该函数不管是调用成功或失败,都会执行。传递给回调函数的参数有三个,第一个options表示执行request方法时的参数,第二个success表示请求是否成功,第三个参数response表示用来执行Ajax请求的XMLHttpRequest 对象。关于XMLHttpRequest可以通过
http://www.w3.org/TR/XMLHttpRequest/查询详细的信息。
success Function 指定当Ajax请求执行成功后执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
failure Function 指定当请求出现错误时执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
scope Object 指定回调函数的作用域,默认为浏览器window。
form Object/String 指定要提交的表单id或表单数据对象。
isUpload Boolean 指定要提交的表单是否是文件上传表单,默认情况下会自动检查。
headers Object 指定请求的Header信息。
xmlData Object 指定用于发送给服务器的xml文档,如果指定了该属性则其它地方设置的参数将无效。
jsonData Object/String 指定需要发送给服务器端的JSON数据。如果指定了该属性则其它的地方设置的要发送的参数值将无效。
disableCaching Boolean 是否禁止cache。