使用extjs时,无论你是调用ajax.request()还是在form中执行form.doaction(),异步调用远程action后都会执行success: function(form, action) {}或者failure: function(form, action) {},那到底何时回调用success,又是何时会调用failure呢?
经过一段时间的使用我总结如下:
1. Ext.form.Action.Submit的配置选项success、failure
根据返回json中success属性判断的,如果success为true,则success,false则failure,如果无json中无success属性,failure,故要提示操作是否成功,必须要返回success属性。
2. Ext.Ajax.request的配置选项success、failure
根据response的status属性,即状态码决定的,200则为success,404或500等则为failure。这里的success是表示你的服务器响应状态值为200,即表示服务器成功响应。不管你响应给客户端的内容是什么,只要响应成功就会执行这个success,跟你返回的内容无关。至于你想根据你返回的参数success值进行判断分别处理,你得在上面的success中进行判断处理。