繁体   English   中英

如何在 PHP 中的 JavaScript object 中 base64_decode()?

[英]How do I base64_decode() in a JavaScript object in PHP?

如果我有一个 JavaScript object “cat”并用 btoa() 对其进行编码,我可以在 PHP 中对其进行 base64_decode() 并访问颜色等属性吗? 还是 PHP 只是将猫视为 object 但不知道它是哪种 object?

JavaScript:

var cat = {color: "grey", name: "Spot", size: 46};
var base64cat = btoa(cat);

PHP:

$cat = base64_decode($_POST['cat']);

btoa()的参数需要是一个字符串。 如果你编码一个 object,它首先被转换成一个字符串,所以它相当于

var base64cat = btoa("[object Object]");

这是没有用的。

您应该首先对 object 进行序列化,然后对其进行编码:

var base64cat = btoa(JSON.stringify(cat));

然后在 PHP 中解码它,你使用base64_decode()json_decode()

$cat = json_decode(base64_decode($_POST['cat']));

但是首先没有真正需要使用 base64 编码。 只需发布 JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM