『壹』 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