为什么这个等式检查在Ajax成功回调中不起作用?

时间:2013-05-11 19:51:09

标签: javascript jquery ajax

我有这个jQuery代码:

success: function(vote_msg){
    alert(vote_msg);
    if(vote_msg == 'ok')  {
         alert("something");
    } else {
    }
};

它提醒确定,但某事,问题是什么?

2 个答案:

答案 0 :(得分:2)

vote_msg可能预期的内容。我怀疑有额外的空格和/或换行符。

要看到这一点,以下是一些建议:

  1. 使用边缘防护 - 快速n'脏,但这不会显示一些额外棘手的情况:

    alert(">" + vote_msg + "<")

  2. 按JSON规则进行字符串化/编码。像\ n(和零大小的空格!)这样的字符将被编码,周围的引号将在每一端显示空格:

    alert(JSON.stringify({msg: vote_msg}))

  3. 使用调试器并检查数据。这提供了最多的控制和“实时”访问:

    debugger

  4. 检查实际的网络响应(例如Firebug或开发人员工具)。

  5. 使用上述一个(或多个)识别问题后,修复它:)正确的解决方案可能涉及更新服务器代码(如果可能)。我建议返回JSON (自动生成!)以保持一致性和可扩展性。

答案 1 :(得分:0)

这只是发布时的错误,还是忘记在提醒后投出分号(vote_msg)?