java爬虫post 404_POST 后台404错误
今天在開發一個用戶信息更新模塊的時候遇到了兩個問題:
1、在我提交form表單的時候我希望在提交表單之后頁面不刷新,同時返回更新數據
2、向后臺POST表單信息的時候,后臺顯示POST url 404的錯誤
解決第一個問題的使用使用jquery.form的插件進行異步提交
$(function() {
$("#user-update").submit(function(){
$(this).ajaxSubmit({
type:"post", //提交方式
dataType:"json", //數據類型
url:"${pageScope.basePath}user/update", //請求url
success:function(data){ //提交成功的回調函數
layer.alert("保存成功");
}
});
return false; //不刷新頁面
});
});
我的form表單是這個樣子的
用戶信息
用戶名:
用戶中文名:
用戶郵箱:
用戶最后登錄時間:
使用這種方式即可對form進行異步提交,提交之后我發現后臺反回了如下錯誤
我的后臺的java代碼如下,采用了spring mvc 的restful風格進行編寫的
@RequestMapping(value = "/update",method = RequestMethod.POST)
public String updateUser(HttpServletRequest request,HttpServletResponse response) {
response.addHeader("Access-Control-Allow-Origin", "*");
/* 獲取前臺傳送的參數 */
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);
}
我發現不能返回我想要的字符串,于是使用@ResponseBody來返回數據(@responsebody表示該方法的返回結果直接寫入HTTP response body中一般在異步獲取數據時使用,在使用@RequestMapping后,返回值通常解析為跳轉路徑,加上@responsebody后返回結果不會被解析為跳轉路徑,而是直接寫入HTTP response body中。比如異步獲取json數據,加上@responsebody后,會直接返回json數據)于是返回結果成功。
@Responsebody原理
該注解用于將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式后,寫入到Response對象的body數據區。注意到使用@ResponseBody將會跳過視圖處理部分,調用合適的HttpMessageConverter,將返回值寫入輸出流。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java爬虫post 404_POST 后台404错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php铺满,重复铺满水印 - Jun.
- 下一篇: java socket 线程池_java