【发布时间】:2018-08-26 03:09:06
【问题描述】:
我有一些相当标准的 jQuery:
$.ajax({
type: 'POST',
url: myurl,
dataType: 'JSON',
data: {
id: 5,
status: true
}
});
当 PHP 接收到它并自动解码 JSON 数据时,整数和布尔值将转换为字符串。这是个坏消息,因为后面还有一些函数可以检查类型等价性。
有什么想法可以让 PHP 很好地解码吗?
【问题讨论】:
-
HTTP 请求的基本性质是 所有 参数都是字符串。 ajax 选项的“dataType”属性说明了您期望 return 数据的样子。您的输入参数将作为 POST 正文中的普通查询字符串发送。
-
从表单收到值后,为什么不直接将值转换为它们各自的类型?这样,您将使用正确的类型转发数据。例如在php中:
$id = (int) $_POST['id']; -
@muhammad,我想在一天结束时我可以做到,只是不知道我是否遗漏了什么。 ??????
-
@BenjaminAllison 检查下面的答案以获得保留类型的另一个选项。
标签: javascript php jquery ajax casting