Angular.js专场HTTP

anggular $http服务 与 jq ajax的区别

2017-08-17  本文已影响74人  新林吃遍世界
最近项目中有个问题,后台增加了token,来进行权限认证,so,每次增删改查需要提交的数据也变得复杂了
        $.ajax({
        url:serverAccessUrl+'/order/queryorderlistbypage',
        type: 'POST',
        dataType:"json",
        async:false,
            contentType:"application/json",
        data: JSON.stringify(postData)
    })

可是我用的是angular的$http服务啊,亲!每次请求都是400,后来了解了,angular在异步提交数据的时候使用与jq不一样的请求头和数据序列化方式,下面我们就来一探究竟

1 http的传输方式

http协议是以ASCII 码的形式传播的,说白了就是把英文字母用ascll转为一大串对应的数字来进行传播的,这个规范把请求分为三个部分
那么为什么要这么分。。。。。。。。。。。。。。

2 jq与angular请求服务的不同

jQuery使用Content-Type: x-www-form-urlencoded和熟悉的foo=bar&baz=moe序列化来传输数据。AngularJS,然而,使用传输数据Content-Type: application/json和{ "foo": "bar", "baz": "moe" }JSON序列化

jq ajax采用了与浏览器原生表单form提交的方式,提交的数据以键值对的形式序列化:key1=val1&key2=val2,,然而有时我们需要提交很复杂的数据结构,以及json的流行。。。application/json 这个 Content-Type ,我们需要以最上面的形式改造ajax,可是angularpost自带这些东西呀,
      $http({
            url:'',
            method:'',
            data:' '传复杂对象
            params:  以键值对的形式传

})

加上params可以参数就可以转换成key1=value1&key2=value2格式

上一篇 下一篇

猜你喜欢

热点阅读