关于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对象) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |