Как сохранить типы переменных внутри объекта, размещенного через ajax - PullRequest
0 голосов
/ 03 июля 2019

Я передаю объект через ajax в файл PHP для обработки следующим образом:

var Obj = {id:1, name:"John", value:12.1};

$.ajax({
        url : "myfile.php",
        type : 'POST',
        data : Obj,
        success : function(data) {
            console.log(data);
});

Моя проблема заключается в том, что когда я получаю параметры в моей переменной $ _POST, все представляет собой строку, подобную id =>«1» или значение => «12,1».Я хотел бы, чтобы они содержались как Int и Float, например, без дополнительных преобразований на стороне PHP.

Есть ли простой способ поддерживать типы переменных?

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Вам необходимо преобразовать значения в PHP, потому что PHP получает значения в виде строки:

$data = $_POST['data'] ; 

$int = (int)$data['id']; // or   intval($data['id'])
$float = (float)$data['value']; // or  floatval($data['value'])
0 голосов
/ 03 июля 2019

Есть ли простой способ поддерживать типы переменных?

Не совсем. Формат данных, используемый для отправки данных, не содержит никаких подсказок типа.

Вместо этого вы можете использовать JSON.

Вам нужно будет кодировать данные как JSON при отправке, а затем явно декодировать их в PHP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...