今天在進行http請求時,出現了一個問題,一樣的接口,返回的結果如出一轍,可是jquery的ajax進行請求,能夠直接result.code取到值,可是在vue-resource裏必須用result.body.code才能取到,這讓我非常納悶,結果找了半天,vue-resource在處理result時,會在它的外層包一個body層,真正的數據包在了body層。就這麼個基礎的問題,竟然不知道,在這貼出來,給本身提個醒,也給其餘像我同樣剛入行沒多久的菜鳥同胞們提個醒,以避免走彎路。雖然vue用了一年多了,這個問題還真是第一回,要不是這回jquery和vue一塊兒用了,也許還發現不了。。。vue
下面貼出vue-resource的代碼jquery
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的$ajaxajax
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 );
給菜鳥們看一下,前輩們就忽略了吧。。。json