ajax方式调用,成功返回了一个"success"字符串。如图所示但是在ajax的success代码里面判断data是否等于"success",居然是不相等的。始终不会有弹框出来。
为神马?附代码。。$.ajax({
'url': 'ajaxuserfollow.php',
'data': {'method': 'followUser', 'fans': fans,'superStar':superStar},
'success': function(data){
if(data  == "success"){
alert("success");
$(this).attr("class")="guanzhu-Y";
}else if(data == "error"){
alert("error");
}
}
});

解决方案 »

  1.   

    检查是否有前后的空格。this 用法不对
      

  2.   

    alert('success')是否执行?如果执行说明没问题,
    你下面一句代码是错误的
    var _this=this;
    $.ajax({
                                'url': 'ajaxuserfollow.php',
                                'data': {'method': 'followUser', 'fans': fans,'superStar':superStar},
                                'success': function(data){
                                    if(data  == "success"){
                                        alert("success");
                                        $(_this).attr("class")="guanzhu-Y";
                                    }else if(data == "error"){
                                        alert("error");
                                    }
                                }
                                });
      

  3.   

    还是怀疑你的data有问题,你alert('|'+'success'+'|')看看
    或直接试试 data.trim=="success" 试试
      

  4.   


    没有执行 alert   wzs_xyz老湿
      

  5.   


    谢谢!!!!!!!!!!用data.trim() 就可以了 。。但是为啥呢  我在被调用的ajax里面 直接是echo "success"的 并没有什么空格呀
      

  6.   

    直接在浏览器里打开ajax的网址,再查看源代码就清楚了。
      

  7.   

    有时候就会出现返回数据中夹杂着空格的问题,你可以看看你PHP的编码是不是UTF-8,如果是BOM头去掉没去掉。
    然后在JS页面中
    alert(data.length);//结果肯定>7
    之后
    alert($.trim(data).length);//过滤空格之后,结果应该=7