PHP 解码带双引号的 GET 参数时出现问题
我正在使用 AJAX 将“数据”参数传递到 php 页面。参数是一个 JSON 字符串,例如:
{"type":"value"}
我用encodeURIComponent JS 函数进行编码获取:
%7B%22type%22%3A%22value%22%7D
如果我用手写:
http://some_url/index.php?data=%7B%22type%22%3A%22value%22%7D
我的“index.php”只需获取参数并“在屏幕上打印”。问题是我得到的不是一个有效的 JSON 来解码:
{\"type\":\"value\"}
任何帮助, 提前致谢
I'm passing a 'data' parameter to a php page using AJAX. The parameter is a JSON string like:
{"type":"value"}
I encode with encodeURIComponent JS function getting:
%7B%22type%22%3A%22value%22%7D
If I write by hand:
http://some_url/index.php?data=%7B%22type%22%3A%22value%22%7D
my "index.php" simply gets the parameters and "prints in the screen". The problem is I'm getting this which isn't a valid JSON to decode:
{\"type\":\"value\"}
Any help,
thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查您是否未启用 magic_quotes。使用 json_decode() 来解码 JSON 数据。
Check that you don't have magic_quotes on. The use json_decode() to decode your JSON data.
这样做。替换参数中的“\”。
这对我有用。
Do like this. Replace de "\" from the parameter.
It worked for me.