热搜:前端 nest neovim nvim

php 怎么接收前端传来的json数据

lxf2024-03-09 21:12:02

php 如何接收前端传来的json数据
前端用JQ 生成一个有字段名和值格式的键值对 的JSON 格式的字串 转码后 提交给后台的PHP 处理
代码如下


json_data+="\"emp_id\":\""+emp_id+"\",\"action_type\":\""+action_type+"\"})"
// $("#emp_no_id").val(json_data);
var json_data1=eval(json_data);
// var json_data1=json_data;

// $.each(json_data1,function(item,value){
// alert(item+value);
// });
$.ajax({
type: "post",//使用post方法访问后台
dataType: "text",//返回json格式的数据
url: "updata_emp.php", //要访问的后台地址
data:json_data1,
ontentType:'utf8',
async:false,
success: function(msg){//msg为返回的数据,在这里做数据绑定
var arr=msg;
alert(msg);
}
});


后台使用PHP 接受

require '.\require\db_set.php';
if (!empty($GLOBALS['HTTP_RAW_POST_DATA']))
{
$command = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
$j =json_decode( $command,true);//true,转化成数组
}

echo $j ;


现在的情况是 接收到的内容 是一个字串, 无法用json_decode 转成数组



应该如何处理

PHP JSON 前端 分享到:
------解决方案--------------------
你没有注意到你的弹框中就是一个 url 参数串吗?
既然 ajax 有 type: "post"
那么你就用 $_POST 就是了
------解决方案--------------------
你的json_data可以写成:json_data="emp_id="+emp_id+"&action_type="+action_type;这样的形式,然后在后端用$_POST['emp_id']这样的方法来获取传递的值
------解决方案--------------------
你当 jq 是弱智啊


引用:
你的json_data可以写成:json_data="emp_id="+emp_id+"&action_type="+action_type;这样的形式,然后在后端用$_POST['emp_id']这样的方法来获取传递的值