?php
成都創(chuàng)新互聯(lián)公司服務項目包括冀州網(wǎng)站建設、冀州網(wǎng)站制作、冀州網(wǎng)頁制作以及冀州網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,冀州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到冀州省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//這里獲取的直接就是數(shù)組了,不需要用到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+')');//轉換成數(shù)組對象,不加這步,那么PHP獲取的是字符串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2個參數(shù)必須是鍵值對形式
alert(res);
});
});
});
/script
input id="xx" type="button" value="點擊"
對于json,PHP有對應的方法進行操作。
一般而言,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;
根據(jù)你的代碼,你是用的是POST方法。
要在PHP中整體接收POST數(shù)據(jù),有兩種方法。
注意,要使用以下兩種方法,Content-Type不能為multipart/form-data。
方法一:
使用:
file_get_contents('php://input')
其中,php://input是一個流,可以讀取沒有處理過的POST數(shù)據(jù)(即原始數(shù)據(jù))。相較于$HTTP_RAW_POST_DATA而言,它給內存帶來的壓力較小,并且不需要特殊的php.ini設置。
方法二:
使用此方法,需要設置php.ini中的always_populate_raw_post_data值為On。
使用$HTTP_RAW_POST_DATA,包含了POST的原始數(shù)據(jù)。但這不是一個超全局變量,要在函數(shù)中使用它,必須聲明為global,或使用$GLOBALS['HTTP_RAW_POST_DATA']代替。
?php
$str='{"sign":true,"message":"實時接口","data":[{"title":"北京快3","name":"bjk3","expect":"145130","opencode":"4,5,6","opentime":"2019-11-21 20:22:45","source":"sourcecode":""}]}';
$json=json_decode($str,false);
echo $json['data'][0]['expect'];
echo $json['data'][0]['opencode'];
echo $json['data'][0]['opentime'];
?
加入對方是post過來的。name 為orderInfo;
?php
$orderInfo = isset($_post['orderInfo']) ? trim($_post['orderInfo']) : '';
if(strlen($orderInfo) 1) {
die('wrong data');
}
//希望你能寫一個更嚴格的驗證函數(shù),去驗證數(shù)據(jù)的合法性
$orderInfoArray = json_decode($orderInfo, true);
if(!$orderInfoArray) {
die('錯誤的數(shù)據(jù)格式')
}
/*
*然后數(shù)據(jù)的格式就轉化為
*array(
* 'topic' ='trade',
* 'status' ='TradeCreate',
* .........
* )
*
*
*/
?