结:
-
$_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);