判断json传到ajax为空,json对象在ajax成功时为空

我使用objectMapper从控制器返回一个Json对象。但成功显示数据是空的。无法找到解决方案。请帮助json对象在ajax成功时为空

function voteAction(questionId, votedByUserId, action) {

$.ajax({

url: '/voteQuestion?questionId=' + questionId + '&votedByUserId=' + votedByUserId + '&action=' + action,

contentType: 'application/json',

dataType: 'json',

async: false,

success: function response(data) {

console.info("data in vote action is :: " + data);

var votesCount = data.votesCount;

alert("votes count::" + votesCount);

var status = data.status;

console.log(status + " :: is the status");

if (status == 10) {

$("#voice-box").fadeIn();

document.getElementById("statusMessage").innerHTML = "You've already VotedUp for this Question";

document.getElementById("voice-box").setAttribute("status", "saved");

setTimeout("hideStatusMessage()", 1950);

}

else if (status == -10) {

$("#voice-box").fadeIn();

document.getElementById("statusMessage").innerHTML = "You've already VotedDown for this Question";

document.getElementById("voice-box").setAttribute("status", "saved");

setTimeout("hideStatusMessage()", 1950);

}

else {

if (status == 10) {

$("#voice-box").fadeIn();

document.getElementById("statusMessage").innerHTML = "You've successfully Voted for this Question";

document.getElementById("voice-box").setAttribute("status", "saved");

setTimeout("hideStatusMessage()", 1950);

}

}

$('#questionVotes h3').html(votesCount);

}

});

}

这是我的控制器

@RequestMapping(value="/voteQuestion",method=RequestMethod.GET)

public @ResponseBody void voteQuestion(@RequestParam("questionId")String id,@RequestParam("votedByUserId")String votedByUserId,@RequestParam("action")String action,HttpServletResponse response) throws JsonProcessingException, IOException, Throwable

{

response.getWriter().println(objMapper.writeValueAsString(discussionService.updateVotesByQuestionId(id, votedByUserId, action)));

}

这是我的服务方法。

public static Map updateVotesByQuestionId(String questionId,String votedByUserId, String action)

{

int voteCount=0;

int status=0;

System.out.println("action=="+action);

Map returnMap=new HashMap ();

String responseString="";

Questions question=questionsDAO.getQuestionByQuestionId(Long.parseLong(questionId));

List votedUpUsersList = question.getVotedUpUserIds();

List votedDownUsersList = question.getVotedDownUserIds();

if(action.equals("voteUp")){

if(votedUpUsersList.contains(votedByUserId))

{

status=10;

}

else{

if(votedDownUsersList.contains(votedByUserId))

{

votedDownUsersList.remove(votedByUserId);

question.setVotedDownUserIds(votedDownUsersList);

}

votedUpUsersList.add(votedByUserId);

question.setVotedUpUserIds(votedUpUsersList);

responseString=questionsDAO.saveQuestion(question);

}}

else if(action.equals("voteDown")){

if(votedDownUsersList.contains(votedByUserId)){

status=-10;

}

else

{

if(votedUpUsersList.contains(votedByUserId))

{

votedUpUsersList.remove(votedByUserId);

question.setVotedUpUserIds(votedUpUsersList);

}

votedDownUsersList.add(votedByUserId);

question.setVotedDownUserIds(votedDownUsersList);

responseString=questionsDAO.saveQuestion(question);

}

}

if(responseString == "Success"){

voteCount= question.getVotedUpUserIds().size()-question.getVotedDownUserIds().size();

returnMap.put("voteCount",voteCount);

returnMap.put("status",status);

}

return returnMap;

}

+0

您是否使用过类似Chrome开发人员工具网络标签的内容来查看请求实际上正在响应的内容? –

+0

那么......也许你没有从服务器返回任何东西。我们怎么知道? [学习如何**调试** JavaScript](http://www.netmagazine.com/tutorials/javascript-debugging-beginners)。 –

+0

您需要先确认服务器正在响应某种内容。然后,您必须确保响应内容类型实际上是JSON。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值