关于Extjs的提交问题 success : function(form, action)

来源:互联网 发布:matlab非线性最优化 编辑:程序博客网 时间:2024/06/08 10:26

关于Extjs的提交问题 success : function(form, action)

2014-01-22 11:26涅磐重生之死劫 | 浏览 2898 次
 编程语言

这部分是代码,我点击保存按钮的时候,直接走的是failure,而没有进success,也不报错,数据也没插入数据库,我想知道这个是什么问题,success : function(form, action)这里面到底是什么情况。不太懂,希望大神指教

2014-01-22 12:06提问者采纳
success : function(form, action)   这里意思是 成功时执行方法。         form 是你创建的表单          action  是你后台返回过来的值  你贴出来的这块代码没啥问题  你仔细看看 url 传给后台from里的值 有没有获取到 或者后台action  有没有获取到后台返回的值建议你用google 按F12调试一下 我个人经验是你url地址有问题请检查是否能连上你的链接!! 你这没有执行success : 这快就说明问题了
追问:
我后台抓取到了数据,如果是URL有问题的话那后台就无法抓取到数据的对吧。而且后台走的方法也是method中标注的add就是已经进了set值的方法了,可是就是无法成功入库,但是却不曾报错
追答:
action  有返回值么 。。如果你不确定的话你可以在success : function(form, action)方法里遍历一遍你的参数和返回值是否正确 比如 向服务端发送的对象。for (i in form) {                       alert('form参数名称:' + i);                       alert('form参数[' + i + ']的值:' + form[i]);      }还有服务端返回的数据for (i in action) {        alert('action参数名称:' + i);        alert('action参数[' + i + ']的值:' + action[i]);       //方式一,判断子对象类型,如果是object则继续遍历子对象         if (typeof (action[i]) == 'object') {            for (j in action[i]) {                 alert('子对象名称:' + j);                 alert('子对象值:' + action[i][j]);            }         }看看对象里存的是什么,这样在仔细检查一下后台对象。我还觉得不是你这里的问题 亲。 你先仔细检查一下你后台。。出现这错误的基本情况就这些了 如果还不能找到啥问题的话建议你先打个断点仔细在找找或者问问你身边的人 还是解决不了去搜一个qq技术群问问毕竟人多力量大 呵呵 我能帮你的就这些了 望采纳
追问:
我能在弱弱问下,什么情况下会执行success,就是我要给他传什么才会执行这个呢?我看看是不是我这边传过去的值不对呢,而且是我这边success都没进去,直接跳到了failure
追答:
success :  简单来说是在你创建的AJAX请求请求成功后执行success 里的方法 或者一条语句。这里的ajax请求包括 url: 'url':请求地址。                                method: 'post',提交方式,     还有一些次要的属性基本没啥意义
追问:
我刚才使用for (i in action) { alert('action参数名称:' + i); alert('action参数[' + i + ']的值:' + action[i]);;看了下,url什么的都有,。。。结果集仍在result里面了
追答:
result.success 是等于true么 ??  你在遍历一遍result 里属性的值看看你写在success : function里的程序是否正确吧。。。  不对等等 现在不是能进success  方法里面了么 现在问题就不是以开始你说的“我点击保存按钮的时候,直接走的是failure,而没有进success,也不报错,数据也没插入数据库,”  =,-!!你问的跑题了 亲 真坑!
追问:
不是的,是这样,success不走,但是走的是failure的,所以我就把failure中添加了一个function(form,action)然后这里面我执行了上面的那个小程序。alert出来的东西中含有result
提问者评价
谢谢了朋友,我找到问题了,麻烦您回答了这么多,最佳就给你了。我的问题是map给错了key
评论 | 6 0

熊_ | 五级 采纳率37%

擅长: C#/.NET VB 电脑/网络 汇编语言

为您推荐:

按默认排序 | 按时间排序

其他2条回答

2014-01-22 13:10δCat | 十五级
你的 url 后台,需要返回一个 JSON 数据给 extjs, 数据格式如下:
{success: true} 表示成功, {success: false} 表示失败。

你的 success: function 这里面, if (action.resul.success ... 这句是多余的。
追问:
我之前也去掉了。但是仍然操作失败,我怎么样能把json数据给打出来?
评论(1) | 0 1
2014-01-22 11:38热心网友
怀疑是你url 指向不正确。没有走success 说明,请求url后,response 的状态就不正确。
不知道你用的什么浏览器,如果你用的不是IE,你在console看一下请求,在network里面。 看一下url 是否正确,返回是否有问题。
追问:

这是用火狐打出来的东西

其实是这样,就是通过method的方法add,已经将数据扔向了后台,我后台抓取的时候也抓到了,方法也走对了,但是就是没走success这个js的function,而是直接走了failure。我很好奇也不知道这个具体都需要的这个参数有什么问题。。。。
0 0