考虑以下几点:从AJAX'd PHP脚本返回/过滤值的正确方法?
<?php
//daytime_check.php
$is_daytime = false;
if ($is_daytime) {
echo '1';
} else {
echo '0';
}
?>
===================================== =============================================
// javascript/jQuery
$.ajax({
type: 'POST',
url: 'daytime_check.php',
success: function(response) {
if(response == false) {
alert('Goodnight, brother');
} else {
alert('Day\'s a wastin, brother');
}
},
error: function() {
//handle error
}
});
这是我迄今为止处理来自AJAX'd PHP脚本的响应。我希望有人能以更好的方式给我一些提示,因为这种方法感觉很笨拙。
特别笨重的是处理JS脚本输出的“过滤”。例如:
在这种情况下,来自PHP的响应将是JS var response ='0'
。现在人们不能简单地在JS中使用if (!response)...
来过滤,因为显然!response
评估为false
,而有趣的是,response == false
评估为true
。我想,与玩杂耍有关。
由于我从PHP返回的东西的唯一方法是在文本(echo
语句)中,当我到达JS端时,我无法返回正确的真/假值来过滤。有没有更好的方法来处理这个问题?
我希望这至少有一点意义。
我喜欢这样。另外有趣的是,当从PHP返回值时,如何使用'die()'。这只是为了消除内存问题的脚本? – eysikal 2012-03-27 19:40:28
那么你可以使用'echo'或'print',不管。我更喜欢'死',因为这样我可以确定我只输出JSON,之后脚本将关闭。 – dfsq 2012-03-27 20:53:30
我喜欢这个想法。我以前没看过它。似乎很有道理。 – eysikal 2012-03-27 20:57:14