如何在 PHP 中的 JavaScript 对象中使用 base64_decode()?
How do I base64_decode() in a JavaScript object in PHP?
如果我有一个 JavaScript 对象 "cat" 并用 btoa() 对其进行编码,我可以 base64_decode() 它在 PHP 中并且
访问猫的属性,如颜色等?还是PHP只把猫看成一个物体,却不知道它是什么物体?
JavaScript:
var cat = {color: "grey", name: "Spot", size: 46};
var base64cat = btoa(cat);
PHP:
$cat = base64_decode($_POST['cat']);
btoa()
的参数必须是字符串。如果你编码一个对象,它首先被转换成一个字符串,所以它等同于
var base64cat = btoa("[object Object]");
这没用。
您应该先序列化对象,然后对其进行编码:
var base64cat = btoa(JSON.stringify(cat));
然后在 PHP 中解码它,你使用 base64_decode()
和 json_decode()
。
$cat = json_decode(base64_decode($_POST['cat']));
但是一开始就没有真正需要使用 base64 编码。只是 post JSON.
如果我有一个 JavaScript 对象 "cat" 并用 btoa() 对其进行编码,我可以 base64_decode() 它在 PHP 中并且 访问猫的属性,如颜色等?还是PHP只把猫看成一个物体,却不知道它是什么物体?
JavaScript:
var cat = {color: "grey", name: "Spot", size: 46};
var base64cat = btoa(cat);
PHP:
$cat = base64_decode($_POST['cat']);
btoa()
的参数必须是字符串。如果你编码一个对象,它首先被转换成一个字符串,所以它等同于
var base64cat = btoa("[object Object]");
这没用。
您应该先序列化对象,然后对其进行编码:
var base64cat = btoa(JSON.stringify(cat));
然后在 PHP 中解码它,你使用 base64_decode()
和 json_decode()
。
$cat = json_decode(base64_decode($_POST['cat']));
但是一开始就没有真正需要使用 base64 编码。只是 post JSON.