如何获得从php到jquery ajax的响应

时间:2014-08-06 13:42:15

标签: php jquery ajax echo

您好我正在尝试将来自php代码的某些消息回显给我的ajax。但通常我只会有一条回音信息,但这种情况我有2.但我不知道如何将每个回声分配给一个.html()

$("#finish").submit(function(){
    $.ajax({
        type:"GET",
        url:"checkFinish.php",
        data: $("#finishProj").serialize(),
        success: function(data){
            $("#add_sucess").html();
            $("#add_err").html();
        }
    }
});


if(!empty($mile1) && $mile1Pay == 'unPaid'){
        $error = 'Payment Not Completed';
        echo $error;
}
if(!empty($mile2) && $mile2Pay == 'unPaid'){
        $error = 'Payment Not Completed';
        echo $error;
}
if(!empty($mile3) && $mile3Pay == 'unPaid'){
        $error = 'Payment Not Completed';
        echo $error;
}

if(empty($error)){
  $success = "Success";
 echo $success;
}

我希望我的echo $error进入$("#add_err").html();echo $success进入$("#add_sucess").html();如何指定?通常情况下,如果我只有一件事要回应,我只会$("#add_sucess").html(data);

2 个答案:

答案 0 :(得分:1)

通过flag的{​​{1}}:success获取成功,并1error传递来自服务器端的错误。 在ajax成功时,您可以通过选中0为1或0来确定响应。例如:

在服务器上:

data.res

在客户端:

if($id > 0 )  // for success
{
  // do other stuff
  $data['res'] = 1 ; 
}
else// for error
{
  // do other stuff
  $data['res'] = 0 ; 
}
echo $json_encode($data);

注意: - 不要忘记在Ajax调用中使用success: function(data){ if(data.res==1) { $("#add_sucess").html();// add success message } else { $("#add_err").html();// add error message } }

更新: - 如果您设置成功dataType: "json",,请设置stringsuccess message上的错误。所以你在error message检查客户端,如:

EMPTY

答案 1 :(得分:1)

我会将JSON对象返回给我的ajax。这样我可以更好地分割我的消息。

的JavaScript

$("#finish").submit(function(){
    $.ajax({
        type:"GET",
        url:"checkFinish.php",
        dataType: "JSON",//ajax now expects an JSON object to be returned
        data: $("#finishProj").serialize(),
        success: function(data){  
            //now that data is a JSON object, you can call the properties via data.prop              
            $("#add_sucess").html(data.success);
            $("#add_err").html(data.error);
        }
    }
});

PHP

if(!empty($mile1) && $mile1Pay == 'unPaid'){
        $error = 'Payment Not Completed';
}
if(!empty($mile2) && $mile2Pay == 'unPaid'){
        $error = 'Payment Not Completed';

}
if(!empty($mile3) && $mile3Pay == 'unPaid'){
        $error = 'Payment Not Completed';           
}    
if(empty($error)){
  $success = "Success";   
}

echo json_encode(array("error" => $error, "success" => $success));//json_encode an associative array and echo it back to request

exit();

请确保您之前已定义$success$error,否则您可能会收到错误。