1. 程式人生 > >關於ajax傳資料到後臺

關於ajax傳資料到後臺

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 通訊用 return
php 和 js 通訊用 echo


所以,ajax和php通訊注意的點:

要指定接收的資料型別!

如果是在js端即ajax指定,即要增加dataType引數,值一般是'json':

$.ajax({

    type:'',

    url:'',

    data:'',

    dataType:'json',

    success:function(){

    }

});

如果在js端,ajax沒有dataType這個引數,那麼就要在php端指定返回的資料型別為json:

header(

'Content-Type:application/json');//這個型別宣告非常關鍵 

echo json_encode();

如果是tp5,可以用return json();就行,json()這個函式是tp5封裝的助手函式。

(雖然前面說php和js通訊用echo,但是經過測試,tp5直接用return json()也可以,返回一個json物件)