如何测试用ajax返回的数据

时间:2017-01-18 22:13:31

标签: javascript php jquery ajax

我正在做一个简单的ajax调用,我测试一个输入值然后返回truefalse。如果是false那么我想将输入颜色更改为红色 我的ajax代码是这样的

$(document).ready(function() {
    $('input').change(function() {
        var id2 = $(this).attr('id');
        $.ajax({
            type: 'POST',
            url: 'test.php',
            data: {
                    id1: $(this).val(),
                    id2: $(this).attr('id')
                    },
            success: function(data)
            {
                if(data == false) {
                    $('#'+id2+'').addClass( 'red' );
                }

            }
        });
    });
});

我的test.php是这样的

require_once('index.php');
$x=intval($_POST['id1']);
$yy=intval($_POST['id2']);
$output= tester($x,$yy);
echo $output;
function tester($x,$y){
    if($solutions[$y]==$x)
        return true;
    else
        echo false;
}

此代码在没有if语句的情况下正常工作。我想测试数据以添加一个将输入颜色更改为红色的类。但是,这段代码对我不起作用。

1 个答案:

答案 0 :(得分:0)

尝试JSON.parse:

if(JSON.parse(data) == false) {
     $('#'+id2+'').addClass( 'red' );
 }

在你的php中添加json_encode()并返回你的假:

$yy=intval($_POST['id2']);
$output= tester($x,$yy);
echo json_encode($output);
function tester($x,$y){
    if($solutions[$y]==$x)
            return true;
        else
            return false;

}