我有一些相当标准的jQuery:
$.ajax({
type: 'POST',
url: myurl,
dataType: 'JSON',
data: {
id: 5,
status: true
}
});
当PHP收到并自动解码JSON数据时,整数和布尔值将转换为字符串。这是个坏消息,因为有一些功能可以检查类型是否等效。
任何想法如何让PHP很好地解码?
答案 0 :(得分:0)
以下是您可以做的事情:
$.ajax({
type: 'POST',
url: myurl,
contentType: 'application/json',
data: JSON.stringify({
id: 5,
status: true
})
});
然后在PHP方面:
$input = file_get_contents('php://input');
$object = json_decode($input);
在这种情况下,$object->status
应该是一个布尔值(其余数据也应保留其原始类型)。
不确定这是否值得。您可以像其他人提到的那样简单地检查它们应该是什么类型。 filter_var
是一种可靠的方法。