解決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讀取txt并對txt內(nèi)容進(jìn)行分頁顯示功能
這篇文章給大家介紹了Ajax讀取txt并對txt內(nèi)容進(jìn)行分頁顯示功能,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-11-11
AJAX中同時發(fā)送多個請求XMLHttpRequest對象處理方法
AJAX中同時發(fā)送多個請求XMLHttpRequest對象處理方法...2007-04-04
Ajax風(fēng)格的一款網(wǎng)頁Loading效果
本篇文章主要是對Ajax風(fēng)格的一款網(wǎng)頁Loading效果的實例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
Ajax xmlHttpRequest的status的值的含義
雖然常寫ajax方面的東西,但是很少去專門了解xmlHttpRequest的status各個值的含義,今天在開發(fā)的過程中又遇到了問題,查過資料后,將他人已總結(jié)過的轉(zhuǎn)載一下,學(xué)習(xí)學(xué)習(xí)。2010-03-03

