无法在jquery ajax输出上运行if语句

时间:2010-11-30 19:00:24

标签: php javascript jquery

在我的check.php中我有一个回音“ok”;

然而,检查值是否正常的if语句不起作用。 基本上我想在check.php查找数据库中的电子邮件后执行javascript函数。

    $.ajax({                
type: "POST",
 url: "check.php",
   data: "checkit=" + $("#checkEmail").val(),
    success: function(output){
    $("#userCheck").html(output);

            if(output == "ok"){
                alert("yay");
            }
        }


    });

2 个答案:

答案 0 :(得分:2)

我建议返回一个JSON字符串而不是纯文本。所以你的check.php应该回应

{status: 'ok'}

然后将您的ajax处理程序更改为:

$.ajax({                
    type: "POST",
    url: "check.php",
    data: "checkit=" + $("#checkEmail").val(),
    success: function(response){
        $("#userCheck").html(response.status);
        if(response.status == "ok"){
            alert("yay");
        }
    }
}, 'json');

或者你甚至可以只返回一个布尔值:

{success:true}

答案 1 :(得分:0)

试试这个:

$.ajax({                
    type: "POST",
    url: "check.php",
    dataType: "text", //<---
    contentType: "application/x-www-form-urlencoded",
    data: "checkit=" + encodeURIComponent($("#checkEmail").val()),
    success: function(output){

       $("#userCheck").html(output);
       if(output == "ok")
          alert("yay");

    }
});