做一个项目时需要用到jQuery的ajax通过PHP返回json进行交互,但是返回的却无论如何前端都不能得到json,通过google终于得到解决办法,记录下.

用个例子说明下.
首先我写的是这样的:

前端:

<html>
    <head>
    <title>Hello world</title>
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
</head>
<script>
    $.ajax({
        url:'test.php',
        type:'get',
        dateType:'json',
        success:function(abc){
            alert(typeof abc);
        }
    });
</script>
</html>

后端:

<?php
$abc='abc';
$cde='cde';
$a=array('a'=>$abc,'b'=>$cde);
echo json_encode($a);

在这里我发现ajax返回的值只是一个字符串而不是一个json.打印出type为string而不是object,怪哉,请教公司同事,答曰要用什么envy方法巴拉巴拉,可是我记得我曾经google的时候看到并没有这个方法,于是继续研究,最终在这篇博客上面发现了问题,原来我的php如果直接echo的话返回的确实是string,需要在后端定义头部header("content-type:application/json").改后果然正常.