本文目錄一覽:
- 1、PHP返回數據如何不帶
- 2、PHP如何利用json傳遞數組給javascript,一下代碼為什麼出錯?
- 3、php在將數組轉成json的時候,key值是中文的,亂碼怎麼解決!
- 4、php 怎麼將html通過json數據
- 5、html如何處理php返回的json數據?
PHP返回數據如何不帶
懷疑你使用了集成類似smarty之類的模板引擎,有了默認的html模板視圖。
如果確定沒有,可以考慮代碼指定一個header:
header(‘Content-type: application/json’);
PHP如何利用json傳遞數組給javascript,一下代碼為什麼出錯?
思路沒什麼問題,只是語法的問題啦,一步一步來
//1生產json字元串
?php
$jsonStr = array(‘1’=’a’,’2’=’b’);
$hello = json_encode($jsonStr);
?
//2把字元串交給js!
script language=”javascript” type=”text/javascript”
function redit(hell){
//在這裡他還只是一個字元串,js不會認為他是一個json對象
var json = ‘?php echo $hello;?’;
//變身
var real = eval(“(“+ json +”)”);
alert(real[1]);
}
/script
//3讀取
input type=”submit” value=”edit” onclick=”redit();”
你的代碼的問題是
1你用數字作為鍵的話,json會把它當作數組下標,你沒有0這個下標,所以讀不出來
2你將一個字元串直接傳進去,他並不是一個json對象,需要轉換
php在將數組轉成json的時候,key值是中文的,亂碼怎麼解決!
亂碼的話是因為文件的格式不正確,而網頁編碼是默認為文件編碼格式的,JSON又是UTF-8編碼,所以你的文件可能是GB2312格式,所以導致JSON內的中文亂碼。
這種情況轉換為UTF-8格式就可以了。
(注意,轉換成無BOM格式的,記事本轉換的UTF-8是帶BOM的,會導致JSON無法正確解析)
php 怎麼將html通過json數據
?php
include ‘./include/conn.php’; //資料庫鏈接文件
$sql_notice = mysql_query(‘SELECT * FROM gg_notice where enable = “1” limit 0,10’);
$notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC);
print_r ($notice);
?
!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”
html xmlns=””
head
title第一php網提供的教程–將資料庫讀取的數據生成json格式/title
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /
!– script src=”” type=”text/javascript”//script —
script language=javascript
/script
/head
body
pre
h1請注意兩種方法生成的對象數組在結構上的區別/h1
?php
echo ‘h1法一/h1’;
//假設以下數組是根據我們從資料庫讀取的數據生成的
$jarr=array(‘total’=239,’row’=array(
array(‘code’=’001′,’name’=’中國’,’addr’=’Address 11′,’col4’=’col4 data’),
array(‘code’=’002′,’name’=’Name 2′,’addr’=’Address 12′,’col4’=’col4 data’),
)
);
//法一:
$jobj=new stdclass();//實例化stdclass,這是php內置的空類,可以用來傳遞數據,由於json_decode後的數據是以對象數組的形式存放的,
//所以我們生成的時候也要把數據存儲在對象中
foreach($jarr as $key=$value){
$jobj-$key=$value;
}
print_r($jobj);//列印傳遞屬性後的對象
echo ‘使用$jobj-row[0][\’code\’]輸出數組元素:’.$jobj-row[0][‘code’].’br’;
echo ‘編碼後的json字元串:’.json_encode($jobj).’br’;//列印編碼後的json字元串
echo ‘hr’;
//法二:
echo ‘h1法二/h1’;
echo ‘編碼後的json字元串:’;
echo $str=json_encode($jarr);//將數組進行json編碼
echo ‘br’;
$arr=json_decode($str);//再進行json解碼
print_r($arr);//列印解碼後的數組,數據存儲在對象數組中
echo ‘使用$arr-row[0]-code輸出數組元素:’.$arr-row[0]-code;
?
/body
/html
html如何處理php返回的json數據?
html接受ajax返回結果有問題,因為服務端返回的是josn,所以不能直接賦值,先解析下json,變成js的數組,然後在給標籤賦值,多列印下就好了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239476.html