? ??????? ??? ?? AJAX ??? ??? ?? ? ?? ???? ????. JSON(JavaScript Object Notation)? ????? ? ??? ??? ?? ??? ??? ? ?? ???? ??? ?????. ThinkPHP5 ??????? JSON ??? ?? ?????. ? ????? ThinkPHP5?? JSON ???? ???? ??? ?????.
- Json ?? ??
PHP?? ??? JSON ?? ???? ????? json_encode ??? ???? ???.
$data?=?array('a'?=>?1,?'b'?=>?2,?'c'?=>?3); echo?json_encode($data);?//?{"a":1,"b":2,"c":3}
json_decode ??? ?? JSON ?? ???? ??? ??? ? ????.
$json_data?=?'{"a":1,"b":2,"c":3}'; $data?=?json_decode($json_data,?true); print_r($data);?//?Array?(?[a]?=>?1?[b]?=>?2?[c]?=>?3?)
ThinkPHP5 ???????? JSON ??? ? ?????. ?????? JSON ???? ?? ??? ? ?? Json ???? ?????. php.php.
- Json ??? ???
Json ???? Response ????? ?????. Response ???? ?? ???? ?? ?? ??????. ?? ??? ?????? ??? ???? ????. Json ???? ?? ??? JSON ???? ?????? ???? ???? ????.
Json ????? ??? ?? ???? ??? ? ????.
use?think\response\Json; $data?=?array('a'?=>?1,?'b'?=>?2,?'c'?=>?3); $json?=?new?Json($data);
?? ??? ?? ???? ??? ? ????.
$json?=?json($data);
- Json ??? ??
Json ???? JSON ???? ???? ?? ???? ?????. ???? ??? ???????. .
(1) ??? ??
??? ??? ??? ???? ???? ? ?????.
$json?=?new?Json(); $json->data($data);
??:
$json->data($data)->code(200)->header(['Cache-control'?=>?'no-cache,must-revalidate'])->send();
(2) ??? ???
??? ???? ??? ??? ??(?: application/json? ??? ?? ??)? ???? ? ?????.
$json?=?new?Json(); $json->content('application/json');
(3) jsonp ???
jsonp ???? JSONP ???? ???? ? ?????. ? ?? ?? ??? ?? ??? ???? ? ?? ?? ??? ??? ??????.
$json?=?new?Json(); $json->jsonp('callback',?$data);
(4) ?? ???
?? ???? ???? ??? ???? 200, ??? ???? ???? ??? ???? 404 ? ??? ?? ??? ???? ? ?????.
$json?=?new?Json(); $json->code(200);
(5) ?? ??
header ??? ?? ?? ??? ???? ? ?????.
$json?=?new?Json(); $json->header(['Cache-control'?=>?'no-cache,must-revalidate']);
(6) options method
options ???? ?? ??? ???? ? ?????.
$json?=?new?Json(); $json->options(['json_encode_param'?=>?JSON_UNESCAPED_UNICODE]);
(7) send method
send ???? ?? ???? ??? ? ?????.
$json?=?new?Json($data); $json->send();
- Json ??
??? ?? Json ???? ???? ???????. ?? ??? ???? ?? JSON API? ????? ??? ?????. ? ???? ID? ????? ? ?? ??? ????.
? ??? ??? ?? ?????:
$.ajax({ ????url:?'/goods/list', ????dataType:?'jsonp', ????jsonp:?'callback', ????success:?function(data)?{ ????????if?(data.code?==?200)?{ ????????????$.each(data.data,?function(index,?item)?{ ????????????????$('#goods-list').append('<li>'?+?item.id?+?':?'?+?item.name?+?'</li>'); ????????????}); ????????}?else?{ ????????????alert('加載商品列表失敗:'?+?data.msg); ????????} ????}, ????error:?function(jqXHR,?textStatus,?errorThrown)?{ ????????alert('加載商品列表失敗:'?+?textStatus); ????} });
?? ?? ????? ?? ??? ?????. Goods:
namespace?app\index\controller; use?think\response\Json; class?Goods { ????public?function?list() ????{ ????????//?模擬商品數(shù)據(jù) ????????$goods_list?=?array( ????????????array('id'?=>?1,?'name'?=>?'商品1'), ????????????array('id'?=>?2,?'name'?=>?'商品2'), ????????????array('id'?=>?3,?'name'?=>?'商品3'), ????????); ????????//?返回JSON數(shù)據(jù) ????????$json?=?json($goods_list); ????????$jsonp_callback?=?input('get.callback'); ????????if?(!empty($jsonp_callback))?{ ????????????$json->jsonp($jsonp_callback); ????????} ????????return?$json; ????} }
????? ???? ??? ?????:
Route::get('/goods/list',?'index/Goods/list');
????? ???? /goods/list ??? ??????. ?? JSON ???? ?????.
? ????? ThinkPHP5 ??????? Json ???? ? ?? ?? ?? ??? ?????. ??? ?? ???? ? ?? ???? ????. ? ?? ?? ??? ThinkPHP5 ?????? JSON ??? ???? ? ?? ??? ? ? ??? ????.
? ??? thinkphp5?? JSON ???? ???? ??? ?? ??????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)