關於ajax傳資料到後臺
阿新 • • 發佈:2018-11-19
ajax傳整個陣列到後臺:
先用JSON.stringify,再在後臺用json_decode來接收
js:
$.ajax({
type:'post',
url:'',
data:{ s_data:JSON.stringify(arr)}
});
php:
$s_data = input('post.s_data');//tp5寫法
$the_data = json_decode($s_data,true);//true不能夠少,有true才能解析成陣列
php 後臺 return 和 echo 的區別:
php 和 php 通訊用 returnphp 和 js 通訊用 echo
所以,ajax和php通訊注意的點:
要指定接收的資料型別!
如果是在js端即ajax指定,即要增加dataType引數,值一般是'json':
$.ajax({
type:'',
url:'',
data:'',
dataType:'json',
success:function(){
}
});
如果在js端,ajax沒有dataType這個引數,那麼就要在php端指定返回的資料型別為json:header(
echo json_encode();
如果是tp5,可以用return json();就行,json()這個函式是tp5封裝的助手函式。
(雖然前面說php和js通訊用echo,但是經過測試,tp5直接用return json()也可以,返回一個json物件)