0

我在 ajax 调用中使用了名为 rowdata 的 JSON 数据。如果我使用:

JSON.stringify(rowdata)

它如下所示:

{"Description":"qwerty","Code":"12345","Size":"11","Colour":"green"}

我确实将它发送到 php 并使用 GET 语句(Joomla 的

JRequest::getVar("Description",  "", "", "")

语句)来获取rowdata的元素,但我不能成功。

如果我查看已发送的 ajax 数据,我确实有以下内容:

rowdata%5BDescription%5D=qwerty

等申请后:

$.param(data)

我使用了许多版本而不是“描述”,但无济于事。我试图自己获取行数据并访问其元素,但没有成功。我无法找出 %5B 和 %5D 的含义,使用 % 符号进行搜索是有问题的。谁能帮助在php中获取Description、Code等的值?

4

3 回答 3

1

您正在发送 JSON,但试图将其解析为application/x-www-form-urlencoded数据。

不要将对象转换为 JSON。

$.get('example.php', {"Description":"qwerty","Code":"12345","Size":"11","Colour":"green"});
于 2013-01-20T20:54:57.587 回答
1

我相信%5B[%5D]。您的网址正在编码特殊字符。它被称为URL 编码

于 2013-01-20T20:55:03.403 回答
1

如果您想使用 get... 推送数据,请不要使用 JSON,否则它将被编码以满足 JSON 格式,您将获得这些实体。

$.get('target.php', {"Description":"qwerty","Code":"12345","Size":"11","Colour":"green"});
于 2013-01-20T20:56:56.613 回答