本文目錄一覽:
- 1、php如何接收js傳來的json
- 2、php 接收JS過來的JSON數據?
- 3、php如何發送和接收JSON數據
- 4、php 怎麼接收前端傳來的json數據
- 5、tinkphp中怎麼接收json數據
- 6、php如何接收js傳來的json對象
php如何接收js傳來的json
感覺樓主對json_decode這個函數有點理解錯誤,這個函數時將一個json格式的字元串轉化成php數組用的,前提是其中的參數必須為字元串
那我們回頭看下樓主的代碼,經過eval以後jsondata變成了一個數組形變數,結構似乎有點奇怪,有5個元素的一個數組,但是每個元素又是一個json對象,而每個json對象又只有一個變數。換句話說如果想獲取createvote這個值,那麼就需要調用jsondata[0].doing
而且,post發送的數據要求是json對象,而樓主這個根本就是不是json…能否發送都是個問題…
樓上那個說$_POST獲取數據的,我試了一下,似乎不行。$_POST[‘doing’]壓根就是個未定義的值
如果要json_decode那就沒必要先eval一下,感覺會弄巧成拙
給樓主一個代碼
js:
var data='{“doing”:”createvote”,”type”:”type”,”num”:”num”,”votetheme”:”votetheme”,”creater”:”loginname”}’;
$.post(url, {data:data}, function(res) {alert(res)});
注意data變數,『與「的位置,不要寫反,反了的話json_decode是不能編譯的
php:
?php
if(isset($_POST[“data”]))var_dump(json_decode($_POST[“data”], true));
?
根據返回的格式很明顯就是一個php的array格式
post的參數必須是name-value的格式,如果單純post一個變數,那麼就相當於只有value,沒有name,所以我這裡將post的傳參值寫為{data:data}第一個data是name,第二個data是之前定義的字元串
php 接收JS過來的JSON數據?
用php處理json數據,需要用json_decode函數轉成json對象,再取其屬性的值.
完整的php程序如下
php如何發送和接收JSON數據
對於json,PHP有對應的方法進行操作。
一般而言,json會以字元串形式傳給PHP腳本,一般都是放在$_POST裡面,
14
?php
// 接收
$json_parameter = $_POST[‘json_str’];
// 處理, 變成數組
$array = json_decode($json_parameter);
// PHP 把數組數據變成json格式字元串,發給頁面
$demo = array(
‘key’ = ‘value’,
‘key2’ = ‘value2’
);
$demo_json = json_encode($demo); // 格式是{“key”:”value”,”key2″:”value2″}
echo $demo_json;
php 怎麼接收前端傳來的json數據
header(“Content-type:text/html;charset=utf-8”);
if($_POST){
$d = $_POST[‘data’];//這裡獲取的直接就是數組了,不需要用到json_decode
echo $d[‘doing’];
//print_r($d);
exit;
}
?
tinkphp中怎麼接收json數據
接收無非就是post和get兩種方式,傳來的json接收寫法原始的就是$_GET/POST[‘前台id
名稱’];thinkPHP3中的寫法我記得還有Request::post/get(‘id名稱’);thinkPHP5好像有個助手函數:直接這樣寫就可以了input(‘id名稱’);接收完看你需要,可以json_decode();轉換,也可以不轉
還有什麼問題可以去後盾人看看,而且這種類型的還有很多!保證讓你大吃一驚!哈哈!
php如何接收js傳來的json對象
你無法傳json對象到服務端交互的,要傳的只是一個字元串(Json),是個字元串!
你發的代碼里是json的解析,沒有多大意義,你在php頁面這樣調試
var_dump($_REQUEST);//輸出所有數據,如果存在的話,你會看到那個參數是啥
另外,json格式,主要方便javascript解析的,而不是php擅長的內容,多數情況下,是PHP返回json數據給js.
php的數組操作函數有主要的兩個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;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303746.html