读取通过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);
});
}
从脚本的输入中读取它,在这里可以获得"原始"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哈希中?
相关文章:
- PHP中的setcookie仅适用于localhost
- 如何在php中的jquery中对循环内的选择框值求和
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- PHP中的数组输出
- javascript和php中的pancard结构验证
- 带有输入参数的Javascript/PHP中的XMLHTTPrequests
- PHP中的JS.警报没有'不要出现
- php中的脚本重定向是递归的
- 如何计算与php中的CRC32函数兼容的arrayBuffer(javascript中的From FileReader)
- 在php中的服务器上执行之前对输入进行消毒
- php中的javascript var太长
- javascript中的脚本等于php中的$_SERVER['REQUEST_URI']
- 在PHP中的所有页面上都包含页眉
- JQuery Ajax PHP中的错误和成功处理
- PHP/AAJAX-使用PHP中的$_FILES访问javascript文件数组
- 如果函数PHP中的条件为true,则禁用链接
- 想要在php中的一个文件中写入2个JavaScript变量
- 填充文本框取决于php中的下拉选择
- 可以't使用ssl读取php中的cookie
- 在php中的同一网页上检索所选下拉项的值,并使用其他数据将其发布到其他表单