当前位置:首页 » 网页前端 » post前端未接收JSON
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

post前端未接收JSON

发布时间: 2022-05-08 09:53:14

‘壹’ php怎么接收json类型数据

PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。
补充说明:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。

‘贰’ PHP使用POST传递json数据的接收与处理问题

前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )

var_mp(json_decode($json));
var_mp(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,返回数组

foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
单独处理每个key 和对应的value就好

‘叁’ php怎么接收json数据格式

PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互。
给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。
接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!
此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据
查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:
$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。
$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

‘肆’ post方式发送json为什么后端接受不到数据

1 打开浏览器的调试工具,看看你发送post的路径和数据对不对 2 在服务端看看有没有接受到请求,没有有限制post和get 3 服务端接受了什么数据,如果是字符串在转为json obj

‘伍’ asp.net怎么接收post方式传过来的json格式

输入String propertyId = request.getParameterValues(propertyId);或String propertyId = request.getParameterValues(propertyId );

这两种方法都可以,只是适用的的方式不同。

‘陆’ 我正在写接口,用POST怎样接收json传递过来的值

前台

varjson1={name:"aaa",age:18};
$.ajax({
type:"POST",
url:"sys_addOrder",
cache:"false",
data:{obj1:json1},
dataType:'json',
success:function(json){
alert("提交成功");
}
});

后台

$json1=$_POST['obj1'];
echo$json1.name;

‘柒’ 为什么得不到jQuery.post的json返回值

格式错误:
1、不需要<script>
2、不是json格式
正确的应该是这样:{"stockId":"1","x":"22.2158","y":"114.2049","district":"123","de_id":"1","olType":"1","name":"xxx","size":"2","price":"3","rent":"4","path":"5","sole":"6","mov360":"6","stockIDDecr":"6","devId":"1","count":"1","keywords":"12","strId":"1"}
你那个ASP单独测试运行显示上面我写的这个就可以正确获取了。否则都不行。[ ] 这个是什么?这个是数组哦。正确的JSON格式是{"a":"1","b":"2","c":"3"}
最后面的; 这个也不需要。

题外话:
如果想做成新闻列表的可以这样:
{'MSG':'success','LIST':[{'title':'title1','content':'content1','key':'key1'},{'title':'title2','content':'content2','key':'key2'},{'title':'title3','content':'content3','key':'key3'}]}

‘捌’ php中通过post请求并接收json数据

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );//设置为post
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );//data为post请求的参数
$return = curl_exec ( $ch );//$return为接收到的返回值
curl_close ( $ch );

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

<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//这里获取的直接就是数组了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>

<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字符串
var data = eval('('+str+')');//转换成数组对象,不加这步,那么PHP获取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2个参数必须是键值对形式
alert(res);
});
});
});
</script>

<input id="xx" type="button" value="点击">

‘拾’ asp做接口,获取访问者POST提交的JSON数据,获取不到,求助

方法1varobj=eval("("+json+")");//在此处处理obj把它放到普通变量或字典对象中此处直接调用上述变量方法2复杂点,找一个能解析js的COM组件sJSPath=sPrjPath&"web\js\jsonparser.js"SetoFS=CreateObject("Scripting.Fil