你無法傳json對象到服務(wù)端交互的,要傳的只是一個字符串(Json),是個字符串!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供武都企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為武都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
你發(fā)的代碼里是json的解析,沒有多大意義,你在php頁面這樣調(diào)試
var_dump($_REQUEST);//輸出所有數(shù)據(jù),如果存在的話,你會看到那個參數(shù)是啥
另外,json格式,主要方便javascript解析的,而不是php擅長的內(nèi)容,多數(shù)情況下,是PHP返回json數(shù)據(jù)給js.
php的數(shù)組操作函數(shù)有主要的兩個json_encode()與json_decode();
從你的代碼中,我不確定你用何種方式通信,ajax?
我看你用到了jQuery,那里面有個ajax,方式類似這樣的:
$.ajax({
type:?"post",???????//method;can?be?get?with?post?or?request
url:?"/mySever.php",//php?url
error:?function(){alert('Error');},
data:?{
data1:???name,
data2:???age,
},?
datatype:"json",//json?back
timeout:?5000,
success:?function(msg)
{
//eval(msg);//parase?here
}
});
return?false;
}
用php處理json數(shù)據(jù),需要用json_decode函數(shù)轉(zhuǎn)成json對象,再取其屬性的值.
完整的php程序如下
?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//這里獲取的直接就是數(shù)組了,不需要用到j(luò)son_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+')');//轉(zhuǎn)換成數(shù)組對象,不加這步,那么PHP獲取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2個參數(shù)必須是鍵值對形式
alert(res);
});
});
});
/script
input id="xx" type="button" value="點(diǎn)擊"
接收無非就是post和get兩種方式,傳來的json接收寫法原始的就是$_GET/POST['前臺id
名稱'];thinkPHP3中的寫法我記得還有Request::post/get('id名稱');thinkPHP5好像有個助手函數(shù):直接這樣寫就可以了input('id名稱');接收完看你需要,可以json_decode();轉(zhuǎn)換,也可以不轉(zhuǎn)。
對于json,PHP有對應(yīng)的方法進(jìn)行操作。
一般而言,json會以字符串形式傳給PHP腳本,一般都是放在$_POST里面,
14
?php
// 接收
$json_parameter = $_POST['json_str'];
// 處理, 變成數(shù)組
$array = json_decode($json_parameter);
// PHP 把數(shù)組數(shù)據(jù)變成json格式字符串,發(fā)給頁面
$demo = array(
'key' = 'value',
'key2' = 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;
新聞名稱:php接收json數(shù)據(jù),thinkphp接收json數(shù)據(jù)
標(biāo)題鏈接:http://chinadenli.net/article47/dsigeej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站導(dǎo)航、建站公司、靜態(tài)網(wǎng)站、網(wǎng)站改版、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)