我正在将一个对象通过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”或value =>“ 12.1”。我希望将它们像Int和Float一样保留下来,而无需在PHP方面进行额外的转换。
是否有一种简单的方法来维护变量类型?
答案 0 :(得分:1)
您需要在PHP上转换值,因为PHP会将值作为字符串接收:
$data = $_POST['data'] ;
$int = (int)$data['id']; // or intval($data['id'])
$float = (float)$data['value']; // or floatval($data['value'])
答案 1 :(得分:0)
是否有一种简单的方法来维护变量类型?
不是。用于发送数据的数据格式没有任何类型的提示。
您可以改用JSON。
发送时,您必须先encode the data as JSON,然后explicitly decode it in PHP。