php接收前端发来的数据,php 如何接收前端传来的json数据

该博客讲述了在前端使用jQuery生成JSON格式数据并提交到后台PHP处理时遇到的问题。作者提到,原本希望通过JSON方式传递数据,但接收到的数据是字符串格式而非JSON数组。解决方案是调整前端数据格式,以URL参数的形式提交,然后在后台通过$_POST获取数据。最终问题得到解决,作者提醒注意AJAX的POST类型请求和数据提交方式。
摘要由CSDN通过智能技术生成

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 转成数组

应该如何处理

回复讨论(解决方案)

你没有注意到你的弹框中就是一个 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']这样的方法来获取传递的值

你没有注意到你的弹框中就是一个 url 参数串吗?

既然 ajax 有 type: "post"

那么你就用 $_POST 就是了

我不明白为啥 接收到是这样的数据, 我想接收到JSON 数据, 然后转成数组, 用数组遍历的方式生成 SQL 语句,字段太多, 不想一行行的写了

问题解决了 用参数传递的方法就可以了 我有点钻牛角尖了 分数散啦...

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值