ExtJS Ext.Ajax.requestとform 1.get Form().submitの基本的な違い
同じ点:すべてAjaxの提出方式に属します。
異なる点:Ext.Ajax.requestはExt.data.co nnectionの一例である。
form 1.get Form().submitはBaic Formの一つの実現方式です。
使用上の違い:
1.form 1.getForm().submitはフォーム提出時によく使われています。つまり、ページデータを提出します。たとえば、データページの新規作成と修正を行います。
2.Ext.Ajax.requestは通常、パラメータに従って提出する時、例えば削除します。私達はページの選択したIDを遍歴して、一つのArayにカプセル化して、一つのパラメータとしてAjaxの提出をします。
例:
まずform 1.getForm().submitの例です。
一番明らかなのはsuccessとfailure時のfunctionのパラメータです。
Ext.Ajax.requestのfunction、optionsは非常に有用です。reponse.reponse Textでパラメータを返します。この場所のreponseパラメータはactionに変えられます。
form 1.get Form().submitのfunction(form,action)は、actionが有用で、actitions.result.msgで戻り値を取得します。
また一番明らかな違いはExt.Ajax.requestがwaitMsgを使ってはいけません。本当にExtの失敗です。
=================================================================================================================================================
前: バックグラウンドの文字列への返信に成功しました。 バックグラウンドが失敗して文字列に戻りました。{success:false,errors:'操作が失敗しました。'' submiが提出されると、actionはバックグラウンドが存在しません。次の図の文字列に戻ります。 次のすべてのactionは存在しません。urlパスが存在しないということです。 FormPanel提出コードは以下の通りです。
Javaコード
var G = new Ext.form.FormPanel({} G.getForm().submit(//クライアントのデータをサーバに提出する url:wayfoon.MMS.DataPage +'/ext 2 Upload.action'は、 //waitMsg:「フォームデータを提出しています。少々お待ちください。。。」 failure:function(form) action){ Ext.Message Box.alert('警告'は、 action.result.errors); }, success: function(form) action){ Ext.Message Box.alert('情報'は、 action.result.msg) } }); [java] view plin copy
var G = new Ext.form.FormPanel({} G.getForm().submit(//クライアントのデータをサーバに提出する url:wayfoon.MMS.DataPage +'/ext 2 Upload.action'は、 //waitMsg:「フォームデータを提出しています。少々お待ちください。。。」 failure:function(form) action){ Ext.Message Box.alert('警告'は、 action.result.errors); }, success: function(form) action){ Ext.Message Box.alert('情報'は、 action.result.msg) } }); バックグラウンドjson文字列successの値に基づいて自動的にfailureまたはsuccessを選択しても良いし、データが不正で強制的に提出された場合など、フロントエラー(failureプロセス)をキャプチャしても良いです。 バックグラウンド文字列はactions.resultを通じてjson文字列に変換する必要があります。習慣的な方法で使用します。 楽屋の異常処理に対して、たとえばactionが存在しないと、どうすることもできません。JavaScriptエラーが発生します。 エラー箇所、ext-all.jsのコード
Javaコード
this.decode = function(json) { //alert(json) return eval("(" + Json + 「」) } [java] view plin copy
this.decode = function(json) { //alert(json) return eval("(" + Json + 「」) } 上の図の文字列をjson文字列に変換できなくて、どの流れを行っているか判断できなくなりました。正常な場合には、「success:true,msg:'操作が成功しました!」または他の文字列が返されます。 上のコードをtry{}catch(){}を使ってみましたが、やはりJavaScriptエラーを解決できません。このようなバックグラウンドエラーを避けられます。解決しなければならないなら、良い解決方法があるかどうか分かりません。 Ext.Ajax.request提出コードは以下の通りです。
Javaコード
Ext.Ajax.request({ url:wayfoon.MMS.DataPage+'/cpSMS.action=submitSMS'は、 method:'POST' params:'id='+id success:function(form,action){ var OB = Ext.util.JSON.decode(form.reponseText); if(obj.success==true) { Ext.Msg.alert('ヒント',obj.msg) ds.reload() } else { //Ext.Msg.alert('ヒント',obj.errors); Ext.Msg.alert('ヒント',obj.msg) } }, failure:function(form、action){ Ext.Msg.alert('警告'、'システムエラー') } } [java] view plin copy
Ext.Ajax.request({ url:wayfoon.MMS.DataPage+'/cpSMS.action=submitSMS'は、 method:'POST' params:'id='+id success:function(form,action){ var OB = Ext.util.JSON.decode(form.reponseText); if(obj.success==true) { Ext.Msg.alert('ヒント',obj.msg) ds.reload() } else { //Ext.Msg.alert('ヒント',obj.errors); Ext.Msg.alert('ヒント',obj.msg) } }, failure:function(form、action){ Ext.Msg.alert('警告'、'システムエラー') } } バックグラウンド文字列は、Ext.util.JSON.decodeを介してjson文字列に変換されます。 自動的にjson文字列successの値に基づいてフローを選択することができません。どの流れをたどるかは、Obj.successの値によって判断します。 このfailure:システムの異常を捉えることができます。例えば、バックグラウンドやactionにデータが提出されていない場合、failureフローを実行します。
異なる点:Ext.Ajax.requestはExt.data.co nnectionの一例である。
form 1.get Form().submitはBaic Formの一つの実現方式です。
使用上の違い:
1.form 1.getForm().submitはフォーム提出時によく使われています。つまり、ページデータを提出します。たとえば、データページの新規作成と修正を行います。
2.Ext.Ajax.requestは通常、パラメータに従って提出する時、例えば削除します。私達はページの選択したIDを遍歴して、一つのArayにカプセル化して、一つのパラメータとしてAjaxの提出をします。
例:
まずform 1.getForm().submitの例です。
function formSubmit(){
if (form1.getForm().isValid()) {
form1.getForm().submit({
waitTitle : ' ',//
waitMsg : ' ...',//
url : 'eidtBooktype.action',
method : 'post',
params : 'booktype',
success : function(form, action) {
var flag=action.result.msg;
window.returnValue='SUCC';
Ext.Msg.alert(' ',flag,function(){
window.close();
});
},
failure : function(form,action) {
var flag=action.result.msg;
Ext.Msg.alert(' ', flag);
}
});
}
}
次に、Ext.Ajax.requestの例である。Ext.Ajax.request({
url : 'deleteBooktypes.action',
method : 'post',
params : {delids:deleteids.toString()},
success : function(form,action) {
//alert(response.responseText); // json
var respText = Ext.util.JSON.decode(form.responseText); // json
var msg=respText.msg;
Ext.MessageBox.alert(' ',msg,function(){
bookTypeStore.reload();
});
},
failure : function(response,options) {
var respText = Ext.util.JSON.decode(response.responseText); // json
var msg=respText.msg;
Ext.MessageBox.alert(' ',msg,function(){
bookTypeStore.reload();
});
}
});
使用はいの違い:一番明らかなのはsuccessとfailure時のfunctionのパラメータです。
Ext.Ajax.requestのfunction、optionsは非常に有用です。reponse.reponse Textでパラメータを返します。この場所のreponseパラメータはactionに変えられます。
form 1.get Form().submitのfunction(form,action)は、actionが有用で、actitions.result.msgで戻り値を取得します。
また一番明らかな違いはExt.Ajax.requestがwaitMsgを使ってはいけません。本当にExtの失敗です。
=================================================================================================================================================
前: バックグラウンドの文字列への返信に成功しました。 バックグラウンドが失敗して文字列に戻りました。{success:false,errors:'操作が失敗しました。'' submiが提出されると、actionはバックグラウンドが存在しません。次の図の文字列に戻ります。 次のすべてのactionは存在しません。urlパスが存在しないということです。 FormPanel提出コードは以下の通りです。
Javaコード
var G = new Ext.form.FormPanel({} G.getForm().submit(//クライアントのデータをサーバに提出する url:wayfoon.MMS.DataPage +'/ext 2 Upload.action'は、 //waitMsg:「フォームデータを提出しています。少々お待ちください。。。」 failure:function(form) action){ Ext.Message Box.alert('警告'は、 action.result.errors); }, success: function(form) action){ Ext.Message Box.alert('情報'は、 action.result.msg) } }); [java] view plin copy
var G = new Ext.form.FormPanel({} G.getForm().submit(//クライアントのデータをサーバに提出する url:wayfoon.MMS.DataPage +'/ext 2 Upload.action'は、 //waitMsg:「フォームデータを提出しています。少々お待ちください。。。」 failure:function(form) action){ Ext.Message Box.alert('警告'は、 action.result.errors); }, success: function(form) action){ Ext.Message Box.alert('情報'は、 action.result.msg) } }); バックグラウンドjson文字列successの値に基づいて自動的にfailureまたはsuccessを選択しても良いし、データが不正で強制的に提出された場合など、フロントエラー(failureプロセス)をキャプチャしても良いです。 バックグラウンド文字列はactions.resultを通じてjson文字列に変換する必要があります。習慣的な方法で使用します。 楽屋の異常処理に対して、たとえばactionが存在しないと、どうすることもできません。JavaScriptエラーが発生します。 エラー箇所、ext-all.jsのコード
Javaコード
this.decode = function(json) { //alert(json) return eval("(" + Json + 「」) } [java] view plin copy
this.decode = function(json) { //alert(json) return eval("(" + Json + 「」) } 上の図の文字列をjson文字列に変換できなくて、どの流れを行っているか判断できなくなりました。正常な場合には、「success:true,msg:'操作が成功しました!」または他の文字列が返されます。 上のコードをtry{}catch(){}を使ってみましたが、やはりJavaScriptエラーを解決できません。このようなバックグラウンドエラーを避けられます。解決しなければならないなら、良い解決方法があるかどうか分かりません。 Ext.Ajax.request提出コードは以下の通りです。
Javaコード
Ext.Ajax.request({ url:wayfoon.MMS.DataPage+'/cpSMS.action=submitSMS'は、 method:'POST' params:'id='+id success:function(form,action){ var OB = Ext.util.JSON.decode(form.reponseText); if(obj.success==true) { Ext.Msg.alert('ヒント',obj.msg) ds.reload() } else { //Ext.Msg.alert('ヒント',obj.errors); Ext.Msg.alert('ヒント',obj.msg) } }, failure:function(form、action){ Ext.Msg.alert('警告'、'システムエラー') } } [java] view plin copy
Ext.Ajax.request({ url:wayfoon.MMS.DataPage+'/cpSMS.action=submitSMS'は、 method:'POST' params:'id='+id success:function(form,action){ var OB = Ext.util.JSON.decode(form.reponseText); if(obj.success==true) { Ext.Msg.alert('ヒント',obj.msg) ds.reload() } else { //Ext.Msg.alert('ヒント',obj.errors); Ext.Msg.alert('ヒント',obj.msg) } }, failure:function(form、action){ Ext.Msg.alert('警告'、'システムエラー') } } バックグラウンド文字列は、Ext.util.JSON.decodeを介してjson文字列に変換されます。 自動的にjson文字列successの値に基づいてフローを選択することができません。どの流れをたどるかは、Obj.successの値によって判断します。 このfailure:システムの異常を捉えることができます。例えば、バックグラウンドやactionにデータが提出されていない場合、failureフローを実行します。