почему alert выдает 0, а php возвращает , что переменная не определена
<script>
function action_but(code, ttl, pid){
$("#new_window .head span").html(ttl);
$("#new_window").removeClass('hidden');
alert(pid);
$.post("assets/get.php", { act: pid, id: code })
.done(function(data) {
alert("Data Loaded: " + data);
});
}
$(".constructor .result_category .add").click(function(){
var code = $(this).attr("data-id");
var ttl = $(this).closest(".data_footer").find("h2").text();
var pid = $(this).closest(".ln").find("input[type=hidden]").val();
if (pid == '') pid = 0;
action_but(code, ttl, pid);
return false;
});
</script>
php файл
<?php
if (empty($_POST['act'])) {exit();}
$action = $_POST['act'];
define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';
define("IN_PARSER_MODE", "true");
@include('config.core.php');
if (!defined('MODX_CORE_PATH')) define('MODX_CORE_PATH', $_SEVER['DOCUMENT_ROOT'].'/core/');
if ($action == 0){
echo $action;
}else{
echo "poc";
}
В описании функции epmty есть следующее:
Переменная считается пустой, если она не существует или её значение равно FALSE.
Следующие значения воспринимаются как пустые:
Так как передается 0 - функция считает, что значение empty.
Возможно стоит заменить проверку на: !isset($var)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей