解決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核心XMLHTTPRequest對象的創(chuàng)建與瀏覽器的兼容問題
這篇文章主要介紹了ajax核心XMLHTTPRequest對象的創(chuàng)建與瀏覽器的兼容問題。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
如何解決Ajax的content-download時間過慢問題
這篇文章主要介紹了Ajax的content-download時間過慢問題的解決方法及思考過程,本文通過事件背景,過程分析,給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-04-04

