结:
-
$_POST返回的是一个数组结构,所以在处理页面中要先用json_encode()转换成json数组,再打印出来
-
jquery中定义变量的关键词是var,不是$,每次都和php的搞混
jquery代码:upload.php
$(function(){ var v=$('#a').val(); alert(data); $.ajax({ type:"post", url:"doUpload.php", data:{'uptype':v}, dataType:"json", success:function(data){ alert(data.name);//这样调用返回的json数据 }, error:function($data){ alert('ajax error'); }, }); });
php处理页面:doUpload.php
<?php if($_POST['uptype']==2){ $data='{"name":"yolo"}'; print_r($data); }
如果在upload.php页面中定义了dataType为json,这里要注意输出的一定要保证是json数据,我之前的错误处理:
<?php
$data=$_POST;//$_POST返回的是一个数组结构,这样$.ajax()接收不到数据,解决办法是$data=json_encode($_POST);
print_r($data);