读取通过 Ajax 调用发送的 PHP 中的 json 数据
Read json data in PHP sent with an Ajax call
开发的前端正在通过 Ajax 调用发送格式为 JSON 对象的数据数组。
json 对象如下所示:
{
"name": " Test Name ",
"image_url": "test URL",
"include": [
"1"
],
"dimension": [
null
],
"media_type": [
null
],
"match": [
"1"
],
"content": [
"test content"
],
"sorting": {
"rating": "50",
"language": "50",
"CS Weight": "50",
}
}
如何在我的 PHP 控制器中读取它。我可以这样得到它吗:
$data = $_POST;
因为本例中包含 JSON 对象的变量没有名称,所以我无法通过这种方式获取它
$data = $_POST['data']
编辑部分
在前端,数据是这样发送的:
sendAjax: function(value, url, callback){
xhr = $.ajax({
type: 'POST',
url: url,
data: value
}).done(function(message){
callback(message);
}).fail(function(jqXHR, textStatus){
console.log('failed to submit form, error type: '+textStatus);
});
}
从脚本的输入中读取它,这是您可以获得 "raw" POST 数据的地方:
$json = file_get_contents('php://input');
$data = json_decode($json);
假设您在前端使用 jquery,这应该可以工作。只需将其粘贴到您的 javascript 控制台并 运行 它(确保将路径替换为您的网址。参数应该正确通过。
data = {
"name": " Test Name ",
"image_url": "test URL",
"include": [
"1"
],
"dimension": [
null
],
"media_type": [
null
],
"match": [
"1"
],
"content": [
"test content"
],
"sorting": {
"rating": "50",
"language": "50",
"CS Weight": "50",
}
}
$.ajax({url:'/YOUR/PATH/HERE', data: {data: data}, type: 'post', dataType: 'json'})
发帖后我遇到了,你是问你如何解析收到的 JSON 或如何让它显示在 $_POST 哈希中?
开发的前端正在通过 Ajax 调用发送格式为 JSON 对象的数据数组。 json 对象如下所示:
{
"name": " Test Name ",
"image_url": "test URL",
"include": [
"1"
],
"dimension": [
null
],
"media_type": [
null
],
"match": [
"1"
],
"content": [
"test content"
],
"sorting": {
"rating": "50",
"language": "50",
"CS Weight": "50",
}
}
如何在我的 PHP 控制器中读取它。我可以这样得到它吗:
$data = $_POST;
因为本例中包含 JSON 对象的变量没有名称,所以我无法通过这种方式获取它
$data = $_POST['data']
编辑部分
在前端,数据是这样发送的:
sendAjax: function(value, url, callback){
xhr = $.ajax({
type: 'POST',
url: url,
data: value
}).done(function(message){
callback(message);
}).fail(function(jqXHR, textStatus){
console.log('failed to submit form, error type: '+textStatus);
});
}
从脚本的输入中读取它,这是您可以获得 "raw" POST 数据的地方:
$json = file_get_contents('php://input');
$data = json_decode($json);
假设您在前端使用 jquery,这应该可以工作。只需将其粘贴到您的 javascript 控制台并 运行 它(确保将路径替换为您的网址。参数应该正确通过。
data = {
"name": " Test Name ",
"image_url": "test URL",
"include": [
"1"
],
"dimension": [
null
],
"media_type": [
null
],
"match": [
"1"
],
"content": [
"test content"
],
"sorting": {
"rating": "50",
"language": "50",
"CS Weight": "50",
}
}
$.ajax({url:'/YOUR/PATH/HERE', data: {data: data}, type: 'post', dataType: 'json'})
发帖后我遇到了,你是问你如何解析收到的 JSON 或如何让它显示在 $_POST 哈希中?