Я использую jQuery для отправки значения в файле PHP через $.post
.=== в javascript и ответ, возвращенный из файла php ajax
$.post("ajax/comment_delete.php", {
comment_id: comment_id
}, function(response){/
if (response == true) {
tr.fadeOut(500, function() {
tr.remove();
})
}
})//$.post
В PHP файл у меня есть:
if (isset($_POST['comment_id'])) {
$comment_id = (int)$_POST['comment_id'];
$comment = comment::find_by_id($comment_id);
if (is_object($comment)) {
echo $comment->delete();
}
}
Все работает правильно, за исключением того, когда я использую response===true
это не сработало. Мой метод удаления возвращает true
, если комментарий удален. Когда I alert
ответ, он показывает 1
; нормально ли для 1===true
быть ложным? Или что-то не так?
'console.log ("1" == TRUE); console.log ("1" === true); 'Тип coherion – epascarello
^Это. '===' проверяет точное соответствие, поэтому вы в основном говорите, что ответ является логическим значением true, которого он никогда не будет. '==' в то время как проверить, является ли ответ [правдивым] (http://www.sitepoint.com/javascript-truthy-falsy/) или нет: – neilsimp1
@neilsimp проверяет точное соответствие, поэтому вы в основном говорите, логическое значение true, которое никогда не будет. php отправить true как 1? – peyman