摘要:比如異步獲取數(shù)據(jù),加上后,會(huì)直接返回?cái)?shù)據(jù)于是返回結(jié)果成功。原理該注解用于將的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)霓D(zhuǎn)換為指定格式后,寫(xiě)入到對(duì)象的數(shù)據(jù)區(qū)。注意到使用將會(huì)跳過(guò)視圖處理部分,調(diào)用合適的,將返回值寫(xiě)入輸出流。
今天在開(kāi)發(fā)一個(gè)用戶(hù)信息更新模塊的時(shí)候遇到了兩個(gè)問(wèn)題:
1、在我提交form表單的時(shí)候我希望在提交表單之后頁(yè)面不刷新,同時(shí)返回更新數(shù)據(jù)
2、向后臺(tái)POST表單信息的時(shí)候,后臺(tái)顯示POST url 404的錯(cuò)誤
解決第一個(gè)問(wèn)題的使用使用jquery.form的插件進(jìn)行異步提交
$(function() { $("#user-update").submit(function(){ $(this).ajaxSubmit({ type:"post", //提交方式 dataType:"json", //數(shù)據(jù)類(lèi)型 url:"${pageScope.basePath}user/update", //請(qǐng)求url success:function(data){ //提交成功的回調(diào)函數(shù) layer.alert("保存成功"); } }); return false; //不刷新頁(yè)面 }); });
我的form表單是這個(gè)樣子的
使用這種方式即可對(duì)form進(jìn)行異步提交,提交之后我發(fā)現(xiàn)后臺(tái)反回了如下錯(cuò)誤
我的后臺(tái)的java代碼如下,采用了spring mvc 的restful風(fēng)格進(jìn)行編寫(xiě)的
@RequestMapping(value = "/update",method = RequestMethod.POST) public String updateUser(HttpServletRequest request,HttpServletResponse response) { response.addHeader("Access-Control-Allow-Origin", "*"); /* 獲取前臺(tái)傳送的參數(shù) */ String id = request.getParameter("id"); ...... /* 組裝user */ User user = new User(); user.setId(Integer.parseInt(id)); ....... boolean updateResult = service.update(user); logger.debug("UserController+updateUser()-------->" + updateResult); return String.valueOf(updateResult); }
我發(fā)現(xiàn)不能返回我想要的字符串,于是使用@ResponseBody來(lái)返回?cái)?shù)據(jù)(@responsebody表示該方法的返回結(jié)果直接寫(xiě)入HTTP response body中一般在異步獲取數(shù)據(jù)時(shí)使用,在使用@RequestMapping后,返回值通常解析為跳轉(zhuǎn)路徑,加上@responsebody后返回結(jié)果不會(huì)被解析為跳轉(zhuǎn)路徑,而是直接寫(xiě)入HTTP response body中。比如異步獲取json數(shù)據(jù),加上@responsebody后,會(huì)直接返回json數(shù)據(jù))于是返回結(jié)果成功。
@Responsebody原理
該注解用于將Controller的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫(xiě)入到Response對(duì)象的body數(shù)據(jù)區(qū)。注意到使用@ResponseBody將會(huì)跳過(guò)視圖處理部分,調(diào)用合適的HttpMessageConverter,將返回值寫(xiě)入輸出流。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65575.html
摘要:比如異步獲取數(shù)據(jù),加上后,會(huì)直接返回?cái)?shù)據(jù)于是返回結(jié)果成功。原理該注解用于將的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)霓D(zhuǎn)換為指定格式后,寫(xiě)入到對(duì)象的數(shù)據(jù)區(qū)。注意到使用將會(huì)跳過(guò)視圖處理部分,調(diào)用合適的,將返回值寫(xiě)入輸出流。 今天在開(kāi)發(fā)一個(gè)用戶(hù)信息更新模塊的時(shí)候遇到了兩個(gè)問(wèn)題:1、在我提交form表單的時(shí)候我希望在提交表單之后頁(yè)面不刷新,同時(shí)返回更新數(shù)據(jù)2、向后臺(tái)POST表單信息的時(shí)候,后臺(tái)顯示POST ...
摘要:原生與對(duì)的實(shí)現(xiàn)一定義里這么解釋異步的和。二原生實(shí)現(xiàn)所有現(xiàn)代瀏覽器以及均內(nèi)建對(duì)象。一般是正常未找到頁(yè)面,一般是錯(cuò)誤,或者后臺(tái)沒(méi)有創(chuàng)建相應(yīng)的內(nèi)部服務(wù)錯(cuò)誤,多為后臺(tái)錯(cuò)誤。基本上通過(guò)發(fā)送的數(shù)據(jù)及傳回的數(shù)據(jù)就能定位問(wèn)題所在了。 原生JS與jQuery對(duì)AJAX的實(shí)現(xiàn) 一、定義 W3C里這么解釋AJAX: AJAX = Asynchronous JavaScript and XML(異步的 Jav...
摘要:前面講了環(huán)境的搭建用打包的使用的使用以及組件化及組件間傳值下面講一下使用提供接口,訪(fǎng)問(wèn)接口,前后端數(shù)據(jù)通信的相關(guān)內(nèi)容。 前面講了環(huán)境的搭建用webpack打包vue,Vue-router,vuex的使用的使用以及Vue組件化及組件間傳值 下面講一下使用nodejs+koa提供接口,axios訪(fǎng)問(wèn)接口,前后端數(shù)據(jù)通信的相關(guān)內(nèi)容。 11.使用nodejs+koa2提供后臺(tái)接口 npm i...
摘要:介紹是以和為基礎(chǔ)搭建的開(kāi)源的和應(yīng)用程序平臺(tái)。在官網(wǎng)上聲稱(chēng)在中,用搭建數(shù)據(jù)驅(qū)動(dòng)的網(wǎng)站應(yīng)用程序和是最容易的。這樣實(shí)現(xiàn)一個(gè)網(wǎng)站只要定義和寫(xiě)前端代碼就好了。這應(yīng)該是前端猴子接外包的一個(gè)利器吧。 介紹 Keystone是以Express和MongoDB為基礎(chǔ)搭建的開(kāi)源的Node.js CMS和web應(yīng)用程序平臺(tái)。 Keystone在官網(wǎng)上聲稱(chēng):在Node.js中,用Keystone搭建數(shù)據(jù)驅(qū)動(dòng)的...
摘要:確認(rèn)創(chuàng)建成功后,記得在中注冊(cè)因?yàn)槲覀兿腼@示發(fā)表評(píng)論的時(shí)間,修改時(shí)區(qū)設(shè)置為上海的時(shí)區(qū)。處理錯(cuò)誤請(qǐng)求發(fā)表評(píng)論僅接受請(qǐng)求。返回到一個(gè)適當(dāng)?shù)闹屑从脩?hù)發(fā)送評(píng)論后,重新定向到文章詳情頁(yè)面。總結(jié)本章實(shí)現(xiàn)了發(fā)表評(píng)論展示評(píng)論的功能。 在沒(méi)有互聯(lián)網(wǎng)的年代,我們用日記來(lái)記錄每天的心得體會(huì)。小的時(shí)候我有一個(gè)帶鎖的日記本,生怕被別人看見(jiàn)里面寫(xiě)了啥,鑰匙藏得那叫一個(gè)絕。 現(xiàn)在時(shí)代變了,網(wǎng)絡(luò)版的日記本:博客,卻巴不...
閱讀 898·2023-04-25 19:17
閱讀 2199·2021-09-10 11:26
閱讀 1913·2019-08-30 15:54
閱讀 3434·2019-08-30 15:53
閱讀 2689·2019-08-30 11:20
閱讀 3406·2019-08-29 15:12
閱讀 1241·2019-08-29 13:16
閱讀 2398·2019-08-26 12:19