【发布时间】:2012-12-22 18:56:40
【问题描述】:
有没有人知道一种方法可以防止 PHP $_REQUEST 自动转换 JSON?我正在通过 POST 发送数据,并希望将其中的一些数据保留为原始形式并将其存储为字符串。
理想情况下,我想要一些简单的方法来“转义”一段字符串。似乎有一种简单的方法可以做到这一点,但我还没有见过。
哇...请原谅我在表达这个问题时不够精确,我已经连续几天不停地编程,只是累了。没想到我还没来得及解释误解就急于结束我的问题。
我的意思是我将 javascript 对象作为数据传递给 jQuery 的 $.ajax() 方法,并使用 type:"POST" 进行调用。后来我意识到 $.param() 在内部用于将对象序列化为传输的查询字符串,并且 $_REQUEST[] 将通过这种方式传递的对象转换为数组结构,就像处理任何复杂的表单数据一样。
客户端代码
$.ajax({ type: "POST", url: "some.php", data: {"obj":{"key":"val"},"str":"text"} })
【问题讨论】:
-
PHP 不会自动转换 JSON。
-
它不会自动转换 JSON。是什么让您认为它确实有效?
-
我们是在谈论magic_quotes吗?
-
这个问题和JSON数据格式有关系吗?看起来不像……?!
-
@jtrick:这不是 JSON,也与 JSON 没有任何关系。那是一个 JavaScript 对象。 JSON 是恰好共享 JavaScript 语法的数据的字符串表示。在您的
$.ajax中,对象被转换为查询字符串,然后POST被转换为PHP。 PHP 获取该查询字符串并将其转换为$_POST数组。这就是$_POST(和$_REQUEST)的工作原理。
标签: php jquery ajax json request