Jquery.post回调函数不执行原因&解决

今天使用Jquery的$.post函数发送数据的时候发现回调函数无法执行,先抛出有问题的代码:
$.post(handle_url,{username:username.val(),content:content.val()},function(data){
	alert(data);
},'json');
回调函数一直无法执行,刚开始以为是js的问题,但是通过Firebug检查并没有出现什么问题,于是使用Jquery底层的方法$.ajax调试一下,看下是哪一步出了问题。下面抛出代码:
$.ajax({url:handle_url,type:"POST",data:{name:"shit"},dataType:"html",timeout:1000,
	error:function(XMLHttpRequest, textStatus, errorThrown) {
        alert(XMLHttpRequest.status);
        alert(XMLHttpRequest.readyState);
        alert(textStatus);},
	success:function(data){
	alert(data);
	}
});
然后JS弹出框的错误信息分别是200、4、parseerror,前两个状态正常,最后一个说明是语法错误,看了一下服务端的php页面,php页面返回的是html,但是$.post接收的却是json格式,所以,将之改为html或者为空(智能判断)即可。$.ajax和$.post功能基本一致,$.ajax可以执行,$.post也不会有问题。Jquery.post回调函数不执行的原因可能不止这一种,撰写本文目的仅为像我一样的菜鸟提供一个自己解决问题的思想,DEBUG永远是最好的老师。