昨日、プログラムを作るとき、一つの問題がありますが、皆に共有します。
【問題】
EasyUIのFormでURLを請求するとき、返却の値が取得できない。
【ソース】
var fnRegUser = function (thisPage) { var frm = thisPage.find('#id_regfrm'); var url = CommonJs.cxtPath() + '/user/regedit.do'; if (frm.form('validate')) { frm.form({ url : url, onSubmit : function () { }, success : function (data) { console.info('data', data); var obj = { 'key1' : 'valA', 'key2' : 'valB', 'key3' : 'valC' }; sessionStorage.setItem("keyobj", JSON.stringify(obj)); } }); frm.submit(); } else { $.messager.show({ title : "ERROR", msg : "ERRRRRRRRRRRRR", timeout : 1000, showType : "slide" }); }View Code
【原因】
請求のURLは通常URL「/user/regedit.do」ではなく、「http://localhost:8080/SSM/user/regedit.do」となります。
①通常URL「/user/regedit.do」を請求するとき、本システムの中身に請求する
②全パス「http://localhost:8080/SSM/user/regedit.do」を請求するとき、新システムらしいの中身に請求する。
【分析】
EasyUIのFormのSubmit請求は通常URLを利用するだけで、返却値が取得できるが、Ajaxに対して、請求URLと関係ない、返却値を取得できる。
ただ、EasyUIのFormのLoad請求に対して、通常URLでも全パスでも、返却値を取得できます。
【結論】
システム間を通信するため、全パスの請求を利用するが、本システムの中身を通信するため、通常URLの請求を利用したほうがいい。