Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对于ajax响应,die或echo哪种方式更好?_Javascript_Php_Jquery_Ajax_Json - Fatal编程技术网

Javascript 对于ajax响应,die或echo哪种方式更好?

Javascript 对于ajax响应,die或echo哪种方式更好?,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我在这样的一个网页中使用AJAX。 我在这里将数据类型指定为JSON jQuery.ajax({ url: "www.mydomain.com/ajax.php", type: "post", dataType: "json", data:{to_email_address:"myemail@gmail.com"}, success:function(response){ response = jQuery.parseJSON(respo

我在这样的一个网页中使用AJAX。 我在这里将数据类型指定为JSON

jQuery.ajax({
    url:  "www.mydomain.com/ajax.php",
    type: "post",
    dataType: "json",
    data:{to_email_address:"myemail@gmail.com"},
    success:function(response){
        response = jQuery.parseJSON(response);
        if(response){
            alert("success");
        }
        else{
            alert("Failed, Try again");
        }
    }
});
ajax.php
中,我使用
echo
json\u encode
函数如下

<?php
    if(!($mail_to_address, $mail_subject, $content, $headers)) {
        echo json_encode(false);
    }
    else{
        echo json_encode(true);
    }
?>
谁能解释一下哪种方法更好,为什么?
提前感谢。

如果您
echo
并且没有
死亡
,您可能会在将来的某一天错误地产生比所需更多的输出

如果你死了,它会在那里打印并结束一切。这是唯一的区别

下面是一个使用您的代码的示例

<?php
    if(!($mail_to_address, $mail_subject, $content, $headers)) {
        echo json_encode(false);    // a die would stop everything here
    }
    else{
        echo json_encode(true);
    }
    echo "oops this was mistakenly printed";  // this breaks your JSON
?>

如果您使用
die
而不是
echo
,那么最后一个
echo
不会破坏您的
JSON
,因为它永远不会执行


如果您在条件检查后知道没有任何问题,或者如果您确信没有特殊理由使用
die()
,则可以继续使用
echo
。因此,你的问题的答案是:只要你的输出在你的控制之下,它们中没有一个是优于另一个的。

如果你
echo
并且不
死亡,你就有可能在将来的某一天错误地产生比需要更多的输出

如果你死了
,它会在那里打印并结束一切。这是唯一的区别

下面是一个使用您的代码的示例

<?php
    if(!($mail_to_address, $mail_subject, $content, $headers)) {
        echo json_encode(false);    // a die would stop everything here
    }
    else{
        echo json_encode(true);
    }
    echo "oops this was mistakenly printed";  // this breaks your JSON
?>

如果您使用
die
而不是
echo
,那么最后一个
echo
不会破坏您的
JSON
,因为它永远不会执行


如果您在条件检查后知道没有任何问题,或者如果您确信没有特殊理由使用
die()
,则可以继续使用
echo
。因此,您的问题的答案是:只要您的输出在您的控制之下,它们中没有一个优于另一个。

谢谢您的回答:)谢谢您的回答:)