ajax()中dataType的重要性

2017-07-29  本文已影响0人  Jacqueline_JS

1.通过F12得到,
当php端声明了返回格式是json,那么会在客户端的
Response Header中Content-Type:application/json;charset=utf-8;
当php端没有声明返回格式是json,那么会在客户端的
Response Header中Content-Type:Content-Type:text/html; charset=UTF-8;(默认)

2.W3SCHOOL上说,dataType如果不指定的话,jquery将自动根据http包mime信息来只能判断,在HTTP中,MIME类型被定义在Content-Type header中。

3.根据前两点,意思是说,如果Php端声明了json返回,那么js端可以不用写dataType="json";如果Php端没有声明json返回,那么js端必须写dataType="json";

所以,推荐写法如下:

<script>

$.ajax({
    type: "GET",
    url: "x.php",
    dataType:"json",
    success:function(data){
        alert(data.myname);
    },
    error:function () {
        alert("发生错误");
    }
});

</script>

补充:PHP端声明返回格式的语法是:

//指定该PHP返回的数据为json格式
header("Content-Type:application/json;charset=utf-8");
上一篇 下一篇

猜你喜欢

热点阅读