Ext.Ajax.request怎么传递对象到后台Action

问题描述

var cell=grid.getSelectionModel().each(function(rec){ // var jsonBean={dept:{id:rec.get('dept.id'),CDept:rec.get('dept.cDept'),CDeptname:rec.get('dept.cDeptname')}}; //var newJson=Ext.encode(Ext.decode(jsonBean)); Ext.Ajax.request({ url: 'addTJdept.action', method: 'POST', scope: this, params:{ id:rec.get('dept.id') }, success: function(response, opts){。。。。。。。。。。。。。我用的是Struts2+Spring+Hibernate+Extjs是用Extjs的EditorGridPanel进行修改,不能弹出修改窗体,就直接在表格里修改,然后点击保存提交上面我注释掉的代码是测试用的 可以获得我选择行的任何值不过下面的params传参 只能传个字段,不能传一个对象么?如果用form表单的话,Struts2会自动帮我填充到对象中,Ext.ajax.request不行么?我的action返回的是JSON对象的,这里主要就是传个dept这个对象该怎么传到后台Action中 问题补充:7454103 写道

解决方案

不清楚的你的实体是什么,但是使用json对象可以的。比如你action里有private User user;User里有name和age那么你就可以构造你的jsonvar jsonBean={'user.name':'张三','user.age':18};然后params:jsonBean就可以了!
解决方案二:
你直接data:{ objectName:{ "propertityName1":"value", "propertityName2":"value", }}
解决方案三:
url: 'addTJdept.action?dept.deptid=123&dept.cDept'=456', 这样传到action 自动变成对象了! 赋值好了的! 然后就可以调用 dept 这个属性了!
解决方案四:
var json= []; json.push({ id:rec.get('dept.id'), CDept:rec.get('dept.cDept'), CDeptname:rec.get('dept.cDeptname'} }) params: { dept: Ext.encode(json) } 后台private String dept; 然后set getJSONArray jsonArray = JSONArray.fromObject(dept);JSONObject jsonObject = jsonArray.getJSONObject(0);jsonObject这就是你向后台传的东西 然后做的操作
解决方案五:
var json= [];json.push({ id:rec.get('dept.id'), CDept:rec.get('dept.cDept'), CDeptname:rec.get('dept.cDeptname'}})params: { dept: Ext.encode(json) }然后后台解析!这样应该行的
解决方案六:
既然是 struts2 他会默认帮你组转这个对象的!你可以在 action里面定义一个 dept 类型的对象!然后在传参数的时候 url: 'addTJdept.action?dept.deptid=123&dept.cDept'=456', 这样传到action 然后就可以调用 dept 这个属性了! 封装好了的! 试试看!
解决方案七:
引自官方api Ext.Ajax.request({ url: 'foo.php', success: someFn, failure: otherFn, headers: { 'my-header': 'foo' }, params: { foo: 'bar' }//参数名foo 参数值bar});其中的params可以var jsonBean={dept:{id:rec.get('dept.id'),CDept:rec.get('dept.cDept'),CDeptname:rec.get('dept.cDeptname')}}; params: jsonBean 这样即可
解决方案八:
params的参数可以把你要传的值写成一个json对象传递的。你定义一个json对象就好了。封装你的参数
解决方案九:
只要是json的格式的 就行

时间: 2024-10-29 18:37:35

Ext.Ajax.request怎么传递对象到后台Action的相关文章

ext.ajax.request方法用法详解

json数据服务器回传的方法. 在api总指出回传的格式  代码如下 复制代码 {success;true,data:{clientName: "Fred. Olsen Lines",   portOfLoading:"FXT",portOfDischarge: "OSL" }  }}} 需要注意的是这里的success和data是关键字,(姑且这么叫吧)在data中是数据在客户端通过 Ext .decode(response.responseT

extjs4-EXT4.2 Ext.Ajax.request问题

问题描述 EXT4.2 Ext.Ajax.request问题 Ext.Ajax.request({ url: homePageConfig.url.login params : { username : name userpass : pass } method : 'POST' success : function(response options) { Ext.Msg.show(""成功""); } failure : function() { Ext.Msg.

Ext.Ajax.request和formPanel.getForm().submit两种提交方法的区别

Ext.Ajax.request和formPanel.getForm().submit()两种提交方法的异同: 1. 相同点: a) 都是使用异步提交的方式: b) 默认都是使用POST方式来提交数据: 2. 不同点: a) Request方法不可以使用waitMsg属性来设置在等待响应过程中显示的信息,而submit方法提交时这个设置是可用的(可以看到效果,而前面说的不可用是指设置了看不到效果): b) Request方法必须将要提交的参数手动组织好然后作为名为params的参数的值才能提交到

Ext.Ajax.request()方法和FormPanel.getForm().submit()方法,都返回success()方法的差异

我还是不发表到博客园首页吧,要不然还是要被取消,>_< 还是言归正传吧,关于Ext.Ajax.request()方法和FormPanel.getForm().submit()方法返回success()方法的差异, Ext.Ajax.request({ url: '', async: false, success: function (response) { var obj = eval("(" + response.responseText + ")")

转:ExtJS中Ext.Ajax.request与form1.getForm().submit的基本区别

问题描述 相同点:都属于Ajax提交方式!不同点:Ext.Ajax.request是Ext.data.connection的一个实例form1.getForm().submit是BasicForm的一个实现方式使用上的区别:1.form1.getForm().submit常用在表单提交的时候,就是说要提交页面数据,比如新增和修改数据页面2.Ext.Ajax.request常用在根据参数提交的时候,比如删除,我们把页面选中的ID进行遍历,封装在一个Array中,作为一个参数做Ajax的提交例子:首

Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别_YUI.Ext相关

(1)Ext.FormPanel f.getForm().submit({ url:"......", params:{ XX:xx .....} success: function (c,v,e) { //e: 触发事件 var json=Ext.decode(v.response.responseText); }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:"....&q

如何用ajax把页面的值传到后台action

问题描述 先说下需求:如图代码:<form id="form" action="" method="get"> <input id="date" name="shijian" type="text" value="请选择时间"></form>图中红色部分为input 的时间(例如2014),通过change事件触发,把2014传给后

ext.ajax.request:ajax调用过程中,千万不要把request覆盖了.

今天调了一天的错误,非常郁闷,直到晚上才发现,原来是页面中定义的XMLHttpRequest对象是个全局对象,但有两个ajax调用都引用了它,每隔几分钟就会出现问题,还是莫名其妙的问题,我以为是数据解析有问题或后台问题,调啊调,结果是两个ajax调用,第二个调用了同一个request,也就是覆盖了第一个的,害得第一个偶尔会得到第二个的值,导致解析出错.......以后每个ajax调用一定不要用全局的变量保存request.而是临时生成,然后将request绑定它的到处理上.function te

ExtJs4中Ext.Ajax的Ajax封装包测试笔记(1/3)

本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事件操作封装,还有扩展的常用函数等.Ajax服务端交互式操作是提交到.NET MVC.后续服务端交互都采用这一方式实现. 一.ExtJs中的Ajax:Ext.Ajax.request 通过客户端向服务端发送Ajax请求,可以"直接"调用MVC的action方法,并传递参数,action返回值可以是普通字符串,也可以是json对象.请求可以添加自定义头信息.看下面例子: 1.异步请求,发送自定义请求头: ht