Tag: type conversion

来自jQuery Ajax的Bool参数在PHP中作为文字字符串“false”/“true”接收

这个问题与以下内容有关: 无法使用jQuery AJAX将null传递给服务器。 在服务器上收到的值是字符串“null” 但是我再次问它,因为那个问题的解决方案非常难看,而且我认为必须是更好的解决方案。 问题 当您使用POST将带有jQuery Ajax的数据发送到PHP时,您将获得字符串“false”(字符串)而不是false(bool),“true”而不是true(bool)和“null”而不是NULL: 解 (在上面的问题中提出):在用jQuery发送之前将数据转换为JSON,然后在PHP中解码该数据。 使用代码: Javascript代码: $.ajax ( { url : , dataType: ‘json’, type : ‘POST’, success : receiveAjaxMessage, data : JSON.stringify ( { valueTrue : true, valueFalse: false, valueNull : null } ) } ); PHP代码: var_dump(json_decode(file_get_contents(‘php://input’), true)); 对我来说,这不是一个解决方案,只是一个丑陋的黑客。 在我的情况下的问题是我不能使用file_get_contents(’php:// input’)来访问$ _POST,甚至更多,我不能使用$ _POST因为我正在使用HMVC。 而且我知道我可以修复它在PHP中检查那些“false”,“true”和“null”,或者在jQuery中发送1和0 instear true和false。 但我认为这一定是一个非常常见的问题,jQuery是一个非常常见的框架,因此我非常确定在jQuery中使用正确的类型发送数据是一种更好,更优雅的方式。