再利用$.ajax时,向后台传送数据,后台拼接成字符串的json返回给前台页面接收不到相应的值
后台代码如下:
@RequestMapping("/getPhonesById")
public void getPhonesById(HttpServletRequest request, HttpSession session,HttpServletResponse response) throws IOException{
Long equId = null ;
if(request.getParameter("equId")!=null){
equId = Long.parseLong(request.getParameter("equId")) ;
}
List<RelationCode> rcList = relationCodeService.getAllByEquId(equId) ;
String jsonStr="" ;
for (int i = 0; i < rcList.size(); i++) {
jsonStr += "\"phone"+i+"\""+":"+"\""+rcList.get(i).getrPhone()+"\"," ;
//System.out.println(rcList.get(i).getrPhone());
}
jsonStr = "{"+jsonStr.substring(0, jsonStr.length()-1)+"}" ;
System.out.println(jsonStr);
//String textString = "{\"haha\":\"haha\"}" ;
response.getWriter().write(jsonStr);
//session.setAttribute("rcList", rcList);
//return "redirect:/visitBeadHouse" ;
}
前台代码如下:
<script type="text/javascript">
function getPhones(equId){
alert(equId);
$.ajax({
type :"POST" ,
url : "getPhonesById",
data :{equId:equId},
dataType : "json",
cache : false,
success : function(data){
if(data){
//$("#jb51").attr("href","http://www.jb51.net"));
$("#phone1").val(data.phone0) ;
$("#phone2").val(data.phone1) ;
$("#phone3").val(data.phone2) ;
$("#phone4").val(data.phone3) ;
$("#phone5").val(data.phone4) ;
$("#pop1").attr("href","javascript:;") ;
}
},
error : function(data){
alert(error) ;
}
}) ;
}
总结:后台在给前台传值拼接json字符串时,除了整型外,字符串类型都应该在拼接过程中加上双引号,(尝试单引号拼接还是获取不到值),前台之间的json传值没影响。