我正在尝试使用 JQuery 将类似于下面的数据结构传递给 php 脚本:
{
"shopping":
[
{
"type": "online",
"mood": 9
},
{
"type": "mood",
"mood": 4
}
],
"researching":
[
{
"type": "online",
"mood": 3
},
{
"type": "library",
"mood": 1
}
]
}
JSON 中的数据根据用户操作的表单和 slider 而变化,然后 JSON 通过提交按钮异步发送。我无法弄清楚如何使用 JQuery 提交此请求,以及如何让 PHP 解析它。我想使用 POST 方法发送此数据。现在,我正在使用:
$.post('server/dataInput.php',submissions, function(data){
console.log(data);
});
提交是 JSON 对象,但这似乎不起作用。我也不知道我将如何在 PHP 端解析这个 JSON。
最佳答案
如果您使用的是 jquery 1.4.0+,则不需要 json_decode
。您的数据将以数组形式在 PHP 中接收。
示例:
JS 片段:
var testData = {
"shopping": [
{
"type": "online",
"mood": 9
},
{
"type": "mood",
"mood": 4
}
],
"researching": [
{
"type": "online",
"mood": 3
},
{
"type": "library",
"mood": 1
}
]
};
function sendTest() {
$.post('test.php', testData, function(data) { console.log(data); });
}
调用sendTest
...
测试.php:
<?php
var_dump($_POST);
你的成功函数将显示 test.php
输出的内容:
array(2)
{
["shopping"]=> array(2)
{
[0]=> array(2)
{
["type"]=> string(6) "online"
["mood"]=> string(1) "9"
}
[1]=> array(2)
{
["type"]=> string(4) "mood"
["mood"]=> string(1) "4"
}
}
["researching"]=> array(2)
{
[0]=> array(2)
{
["type"]=> string(6) "online"
["mood"]=> string(1) "3"
}
[1]=> array(2)
{
["type"]=> string(7) "library"
["mood"]=> string(1) "1"
}
}
}
所以,一切都开箱即用! :)
关于php - 发布和解析从 JQuery 发送到 PHP 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780935/