//下面是通过jquery的$ajax获取后台所回传的数据,通过浏览器捕捉到的:
{"login":"1","info":"muzili 欢迎你回来! <a href='/aben/member/member.php?action=main&lang=cn'>用户中心</a>|<a href='/aben/member/member.php?action=out&lang=cn'>退出登陆</a>"}
//下面是前台ajax代码:
<!-- Ajax登录开始 -->
<script type="text/javascript">
$(document).ready(function(){
$('#ajax_login').click(function(){
$.ajax({
type:"POST",
url:"{path member/}/member.php",
data:"action=ajax_login&lang="+$('#ajax_lang').val()+"&password="+$('#ajax_password').val()+"&user="+$('#ajax_user').val(),
dataType:"json",
success:function(data){
if(data.login=="1"){
$('#userlogin').html(data.info);
$(".loginbox").slideUp();
}else{
alert(data.info);
}
},
error: function(e){ //失败后回调
alert("回调失败!");
}
});
});
});
</script>
<!-- Ajax登录结束 -->
//下面是后台代码:
if($action=='ajax_login'){
$user=fl_html(fl_value($_REQUEST['user']));
$password=fl_html(fl_value($_REQUEST['password']));
........
此处省略n行代码
........
$str=$_SESSION['member_user']." {$language['member_wel']} <a href='".CMS_SELF."member/member.php? action=main&lang=".$lang."'>".$language['member_msg28']."</a>|<a href='".CMS_SELF."member/member.php?action=out&lang=".$lang."'>{$language['member_out']}</a>";
die('{"login":"1","info":"'.$str.'"}');
}
//最后做一个总结:
总的来说,jquery对json数据格式的要求很高,所以大家在单双引号的使用,组装json数据的时候一定要万分小心,免得走太多的冤枉路!!!(另外也要注意一点:换行符和多余空格也会造成json数据无法正常解析)