我的天,怎么找半天都找不着数据

我的天,怎么找半天都找不着数据

http://img1.sycdn.imooc.com//climg/5d63599000010ec409140323.jpg

为什么我请求回来的数据和老师请求回来的数据不一样?

import jsonp from 'assets/js/jsonp';
import {jsonpOptions} from './config';

// 获取搜索结果数据--jsonp
export const getProductDetail = id => {
 const url = 'https://unszacs.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/';
 const params = {
   api: 'mtop.taobao.detail.getdetail',
   ttid: '2017%40taobao_h5_6.6.0',
   data: `%7B"itemNumId"%3A"${id}"%7D`,
   appKey: 12574478,
   dataType: 'jsonp',
   type: 'jsonp',
   v: '6.0'
 };

 // jsonp代表调用开头引入封装好的jsonp.js,指向的是jsonp.js中暴露的方法export default (url, data, options),返回的是Promise对象
 return jsonp(url, params, jsonpOptions).then(res => {
   if (res.data) {
     return res.data;
   }
   throw new Error('没有获取到数据!');
 }).catch(err => {
   console.log(err);
 }).then(res => { // res接收返回来的数据
   return new Promise(resolve => {
     setTimeout(() => {
       resolve(res); // 1s后将请求回来的数据发送出去
     }, 1000);
   });
 });
};

我知道我的data里传id的值和老师建议的不一样,但是我的data只能这样写才能获取到数据,data:`{"itemNumId":"${id}"}`我是获取不了数据,抛出超时错误。
想问我上面图片获取到的数据,关于详情页面的数据应该在哪里找?找来找去都没有content对象包含的数据


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕慕子 2019-08-27 09:45:25

同学你好,请求的接口是一样的, 返回的数据也是一样的, 只不过老师在封装的时候就对返回的数据进行了处理, 将需要的数据存放在data下的content属性上,然后return返回data, 这样在使用的时候通过then方法获取到就是处理后的数据。 

示例: 同学可以参考一下, 将自己需要的数据处理一下

http://img1.sycdn.imooc.com//climg/5d648b03000182fc07590890.jpg

希望能够帮助到了你, 祝学习愉快~~~


好帮手慕慕子 2019-08-26 19:06:08

同学你好,商品评价数据,可以在返回的数据中查找, 示例:

http://img1.sycdn.imooc.com//climg/5d63bc060001239b13130781.jpg

请求的都是同一个接口, 返回的数据可能是相同的, 不知道同学说的返回数据为老师不一样, 具体是指哪里不一样呢

最后, data写成data:`{"itemNumId":"${id}"}`获取不了数据,可能是由于浏览器解析的时候字符转义的问题, 同学可以使用你现在这种转义的写法请求数据。

其实同学不用纠结这里data的这里了到底是否需要转义的写法, 因为实际工作中使用的都是自己公司后台人员提供的接口, 不会出现这种情况的, 目前主要练习将请回的数据然后渲染到页面即可

希望可以帮助到你, 祝学习愉快~~~


  • 提问者 soso_crazy #1
    我见到老师返回的数据是content对象包裹的内容,里面的数据一目了然,而我请求的数据要找来找去,我还不确定是否是需要的数据
    2019-08-26 19:09:12
好帮手慕慕子 2019-08-26 16:07:30

同学你好,如下图所示, 商品在返回的数据中以json格式的字符串保存

http://img1.sycdn.imooc.com//climg/5d6392700001259709600449.jpg

建议: 可以通过JSON.parse将字符串转成对象格式, 然后查找对应的商品信息

http://img1.sycdn.imooc.com//climg/5d6392d70001045b07720374.jpg

效果图:

http://img1.sycdn.imooc.com//climg/5d6392f00001c6d209930775.jpg

希望能够帮助到了你, 祝学习愉快~~~

  • 提问者 soso_crazy #1
    商品评价在哪里?我找不到?为什么我返回来的数据和老师的不一样?data写成data:`{"itemNumId":"${id}"}`我又获取不到数据是为什么?
    2019-08-26 16:14:45
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师