jQuery передача параметров

интернет программирование php JavaScript jQuery

Почему ajax булевы передает строкой? вот ради примера

ФАЙЛ test.php
----------------------
<?php
header("content-type: application/json; charset=utf-8");
$r[] = var_dump ( $_POST['testVar'] );
echo json_encode($r);
exit();
?>

ФАЙЛ index.php
-----------------------
<script>
$(function(){
$.ajax({
url: 'test.php',
type: 'post',
dataType: 'json',
data: { testVar: false },
success: function(data) {
console.log(data);
}
});
});
</script>

в консоле видно что var_dump говорит о том что false - СТРОКА (string)

??????
Ответы:
Потому что все передаваемые значения в POST запросах передаются как строки.
Чтобы на серверной стороне они стали переменными других типов, должен быть обработчик, который будет выполнять преобразования. Так, например, сделано в ASP.NET. Специальный механизм пытается преобразовать приходящие значения в подходящие типы.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.