解決ajax傳過來的值后臺接收不到的問題
更新時間:2018年08月07日 15:29:06 作者:Mr_EvanChen
今天小編就為大家分享一篇解決ajax傳過來的值后臺接收不到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
問題描述:
在前端js里面寫了一個ajax,前端alertx出來的是1或者1,2格式的數(shù)據(jù),但是在后臺取到的值一直都是null。
js代碼如下:
function confirmCourseSystem(){ var findAllTrainProgramNameId = $("#findAllTrainProgramNameId").val(); if(findAllTrainProgramNameId==null || findAllTrainProgramNameId==""){ window.alertx("請選擇培訓(xùn)方案!"); return false; } var courseSystemId = $('#CourseSystemList').val(); alertx(courseSystemId); $.ajax({ type: "POST", url: "${ctx}/teach/teachDistribute/getCourseSystemNameById", data: { "CourseSystemId": $('#CourseSystemList').val() }, success:function(CourseSystemListName){ $('#CourseSystemBody').html(""); for(var i=0; i<CourseSystemListName.length; i++){ $("#CourseSystemBody").append("<tr><td>"+CourseSystemListName[i] +"</td><td>課程體系</td><td>無</td></tr>"); } }, error:function(){ alertx("error"); } }); }
后臺代碼如下:
//添加下發(fā)-確認(rèn)選擇,根據(jù)CourseSystemId獲得CourseSystemName @ResponseBody @RequestMapping(value = "getCourseSystemNameById") public List<String> getCourseSystemNameById(@RequestParam(required = false) String CourseSystemId, HttpServletRequest request){ logger.debug("==Evan==CourseSystemId: "+ CourseSystemId); logger.debug("==Evan==CourseSystemId2 :"+request.getParameter("CourseSystemId")); List<String> CourseSystemListName = new ArrayList<>(); if(CourseSystemId==null || CourseSystemId.equals("")){ CourseSystemListName = null; }else { String[] CourseSystemListId = CourseSystemId.split(","); for (String aCourseSystemListId : CourseSystemListId) { CourseSystemListName.add(resourceCoursesystemService.get(aCourseSystemListId).getCoursesystemName()); } } return CourseSystemListName; }
問題原因:在使用瀏覽器查看之后發(fā)現(xiàn)數(shù)據(jù)格式是這樣的,原因應(yīng)該是前臺傳入值的類型不對:
解決辦法:
修改前端傳入值的類型,用toString方法即可。代碼如下
$.ajax({ type: "POST", url: "${ctx}/teach/teachDistribute/getCourseSystemNameById", data: { "CourseSystemId": $('#CourseSystemList').val().toString() }, success:function(CourseSystemListName){ $('#CourseSystemBody').html(""); for(var i=0; i<CourseSystemListName.length; i++){ $("#CourseSystemBody").append("<tr><td>"+CourseSystemListName[i] +"</td><td>課程體系</td><td>無</td></tr>"); } }, error:function(){ alertx("error"); } });
以上這篇解決ajax傳過來的值后臺接收不到的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
AJAX中同時發(fā)送多個請求XMLHttpRequest對象處理方法
AJAX中同時發(fā)送多個請求XMLHttpRequest對象處理方法...2007-04-04Ajax風(fēng)格的一款網(wǎng)頁Loading效果
本篇文章主要是對Ajax風(fēng)格的一款網(wǎng)頁Loading效果的實例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02Ajax xmlHttpRequest的status的值的含義
雖然常寫ajax方面的東西,但是很少去專門了解xmlHttpRequest的status各個值的含義,今天在開發(fā)的過程中又遇到了問題,查過資料后,將他人已總結(jié)過的轉(zhuǎn)載一下,學(xué)習(xí)學(xué)習(xí)。2010-03-03