终于掉坑里了!!!vue-resource和jquery的ajax不一样

今天在进行http请求时,出现了一个问题,同样的接口,返回的结果一模一样,但是jquery的ajax进行请求,可以直接result.code取到值,但是在vue-resource里必须用result.body.code才能取到,这让我很是纳闷,结果找了半天,vue-resource在处理result时,会在它的外层包一个body层,真正的数据包在了body层。就这么个基础的问题,居然不知道,在这贴出来,给自己提个醒,也给其他像我一样刚入行没多久的菜鸟同胞们提个醒,以免走弯路。虽然vue用了一年多了,这个问题还真是第一回,要不是这回jquery和vue一起用了,也许还发现不了。。。

下面贴出vue-resource的代码

 1 that.$http.post(
 2                     url,
 3                     {
 4                         "train":train,
 5                     },
 6                     {emulateJSON: true}
 7                 ).then(
 8                     //成功回调
 9                     function (result) {
10                         if(result.body.code == 10000){
11                            
12                         }
13                     }
14                 );

这是jquery的$ajax

 1 $.ajax(
 2             {
 3                 url: url,
 4                 dataType: 'json',
 5                 type: 'POST',
 6                 data: {'train': train},
 7                 success: function (result) {
 8                     if(result.code == 10000){
 9                        
10                     }
11                 }
12             }
13         );

给菜鸟们看一下,前辈们就忽略了吧。。。

原文地址:https://www.cnblogs.com/wangpengbin/p/8718084.html