jquery+ajaxform+springboot控件實現(xiàn)數(shù)據(jù)更新操作

應(yīng)用背景

使用springboot架構(gòu)在如下圖所示的界面布局中皂冰,實現(xiàn)數(shù)據(jù)的保存或者更新歇竟,務(wù)必需要提交到后臺萎羔,如何進行成功或失敗的提示呢按厘?如果使用傳統(tǒng)的springmvc的模式医吊,勢必要傳一個頁面給前端,這個頁面僅僅是提示操作是否成功了逮京!提示之后還得更新一下數(shù)據(jù)卿堂,就好比我們?yōu)g覽某些網(wǎng)站的時候給出的一些提示操作成功,5秒后返回懒棉。
比較傻草描,客戶體驗也比較差勁。

image.png

改造歷程

使用ajax能否解決上述的問題呢策严?
答案是肯定的穗慕,點擊保存之后,一個ajax請求到后臺妻导,使用ResponseBody標(biāo)簽逛绵,限制返回的僅僅是數(shù)據(jù)。然后根據(jù)返回的數(shù)據(jù)給出相應(yīng)的提示信息就可以了倔韭。
傳統(tǒng)的ajax請求數(shù)據(jù)术浪,需要將form里面的數(shù)據(jù)重組,全部放到我們的請求體里面寿酌。如下代碼所示:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

如果胰苏,我提交的form數(shù)據(jù)比較多的話,那么data就相對比較龐大了份名。代碼比較臃腫碟联。同時妓美,form表單也喪失了其存在的意義了。
有沒有一種比較優(yōu)雅的方式實現(xiàn)form表單的ajax提交呢鲤孵?當(dāng)然壶栋。
jquery的ajaxform插件是一個比較不錯的選擇。

實現(xiàn)過程

  1. 第一步普监。當(dāng)然是引入我們強大的插件了贵试。
 <script src="static/assets/js/jquery.form.min.js"></script>

該js下載,我提供一下github的地址吧:https://github.com/jquery-form/form凯正。

  1. 第二步毙玻。在我們想要發(fā)送請求的地方進行ajax+form請求的發(fā)送。
 function insert() {
                var options = {
                    // target:        '#output1',   // 用服務(wù)器返回的數(shù)據(jù) 更新 id為output1的內(nèi)容.
                    // beforeSubmit:  showRequest,  // 提交前
                    success:       showResponse,  // 提交后
                    //另外的一些屬性:
                    //url:       url         // 默認是form的action廊散,如果寫的話桑滩,會覆蓋from的action.
                    //type:      type        // 默認是form的method,如果寫的話允睹,會覆蓋from的method.('get' or 'post').
                    //dataType:  null        // 'xml', 'script', or 'json' (接受服務(wù)端返回的類型.)
                    //clearForm: true        // 成功提交后运准,清除所有的表單元素的值.
                    resetForm: false        // 成功提交后,重置所有的表單元素的值.
                    //由于某種原因,提交陷入無限等待之中,timeout參數(shù)就是用來限制請求的時間,
                    //當(dāng)請求大于3秒后缭受,跳出請求.
                    //timeout:   3000
                };

                //'ajaxForm' 方式的表單 .
                $('#baseForm').ajaxSubmit(options);
            }
  1. 處理一下提交后返回的方法
  //  提交后
            function showResponse(responseText, statusText)  {
                alert('狀態(tài): ' + statusText + '\n 返回的內(nèi)容是: \n' + responseText);
              
            }
  1. 后臺實現(xiàn)代碼
 @RequestMapping("/basicSave")
    @ResponseBody
    public String BasicSave(PointInfo pi){
        if(!pi.getSaddress().equals("")){
            pi.setType("1");
        }else{
            pi.setType("0");
        }

        int newId = pointInfoService.saveorupdate(pi);
        return newId+"";
    }

邏輯自行定義

注意

  • 提交的時候一定要使用ajaxSubmit方法
  • 提交的action胁澳,請求方式(post還是get)、dataType(json米者、xml)等默認都采用的form里面的數(shù)據(jù)韭畸,如果在參數(shù)里面進行了修改,那么就會覆蓋掉蔓搞。

后續(xù)研究

關(guān)于提示框

使用alert胰丁?我費盡心思用上了bootstrap,你這里搞一個alert出來喂分,簡直就是往一盤美味里面吐唾沫隘马。有沒有美觀一點的提示框?當(dāng)然妻顶,答案是肯定的!
使用notifications插件來完成提示框的美化
先上個效果圖:

image.png

實現(xiàn)步驟

  1. 導(dǎo)入notifications所需js和css
  <script src="static/assets/plugins/notifyjs/dist/notify.min.js"></script>
 <script src="static/assets/plugins/notifications/notify-metro.js"></script>
 <script src="static/assets/plugins/notifications/notifications.js"></script>
 <link href="static/assets/plugins/notifications/notification.css" rel="stylesheet">
     
  1. 調(diào)用接口即可
 $.Notification.notify('success','top center', '溫馨提示', '保存成功蜒车!');

完畢讳嘱!實現(xiàn)了jquery+ajaxform的表單提交過程。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酿愧,一起剝皮案震驚了整個濱河市沥潭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嬉挡,老刑警劉巖钝鸽,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汇恤,死亡現(xiàn)場離奇詭異,居然都是意外死亡拔恰,警方通過查閱死者的電腦和手機因谎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颜懊,“玉大人财岔,你說我怎么就攤上這事『拥” “怎么了匠璧?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咸这。 經(jīng)常有香客問我夷恍,道長,這世上最難降的妖魔是什么媳维? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任酿雪,我火速辦了婚禮,結(jié)果婚禮上侨艾,老公的妹妹穿的比我還像新娘执虹。我一直安慰自己,他們只是感情好唠梨,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布袋励。 她就那樣靜靜地躺著,像睡著了一般当叭。 火紅的嫁衣襯著肌膚如雪茬故。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天蚁鳖,我揣著相機與錄音磺芭,去河邊找鬼。 笑死醉箕,一個胖子當(dāng)著我的面吹牛钾腺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讥裤,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼放棒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了己英?” 一聲冷哼從身側(cè)響起间螟,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后厢破,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荣瑟,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年摩泪,在試婚紗的時候發(fā)現(xiàn)自己被綠了笆焰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡加勤,死狀恐怖仙辟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鳄梅,我是刑警寧澤叠国,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站戴尸,受9級特大地震影響粟焊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜孙蒙,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一项棠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挎峦,春花似錦香追、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至顿苇,卻和暖如春峭咒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纪岁。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工凑队, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人幔翰。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓漩氨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親遗增。 傳聞我的和親對象是個殘疾皇子才菠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容