为什么我请求不了数据?
来源:3-3 项目作业
soso_crazy
2019-08-21 19:35:55
// product.js import jsonp from 'assets/js/jsonp'; import {jsonpOptions} from './config'; export const getProductResult = (id) => { const url = 'https://unszacs.m.taobao.com/h5/mtop.taobao.detail.getdetail/6.0/'; const params = { api: 'mtop.taobao.detail.getdetail', ttid: '2017@taobao_h5_6.6.0', data: `{"itemNumId":"${id}"}`, appKey: 12574478, dataType: 'jsonp', type: 'jsonp', v: '6.0' }; return jsonp(url, params, jsonpOptions).then(res => { console.log(res); }); };
//slider.vue
<template>
<div class="slider-wrapper">
<me-loading></me-loading>
<me-slider :direction="direction" :loop="loop" :interval="interval" :pagination="pagination">
<swiper-slide></swiper-slide>
</me-slider>
</div>
</template>
<script>
import {swiperSlide} from 'vue-awesome-swiper';
import {swiperOptions} from './config';
import MeSlider from 'base/slider';
import MeLoading from 'base/loading';
import {getProductResult} from 'api/product';
export default {
name: 'ProductSlider',
components: {
MeSlider,
MeLoading,
swiperSlide
},
data() {
return {
direction: swiperOptions.direction,
loop: swiperOptions.loop,
interval: swiperOptions.interval,
pagination: swiperOptions.pagination,
sliders: []
};
},
methods: {
getProduct() {
getProductResult(this.$route.params.id);
}
},
created() {
this.getProduct();
}
};
</script>
<style scoped>
</style>
3回答
好帮手慕慕子
2019-08-22
同学你好, 老师测试时, 提供的这种参数配置是可以获取到数据, 不过可能由于浏览器解析的问题, 导致同学测试的时候不可以的。 不过最终同学找到解决方式还是很棒的, 可以继续书写项目了。祝学习愉快~~~
好帮手慕慕子
2019-08-22
同学你好, 老师在源码中测试, 同学的粘贴的这部分代码是没有问题的, this.$route.params.id是可以请求数据的, 因为不确定同学的 this.$route.params.id是否获取到, 所以上一条解答中老师以固定的id测试结果。
现在,老师给同学展示一下, 在源码中测试, 以 this.$route.params.id获取数据
测试传入的id
封装的函数,也是可以成功的请求会数据的
综上所述, 同学粘贴的这部分代码是没有问题。
建议: 同学可以先检查一下this.$route.params.id是否有值。
另, 有时候看不到效果可能是由于浏览器有缓存, 建议可以清除浏览器缓存, 重启项目测试一下
希望能够帮助到你,祝学习愉快~~~
好帮手慕慕子
2019-08-22
同学你好, 老师使用固定的id测试你粘贴的这段代码, 是可以请求回数据的
建议: 同学可以检查一下是否是id传入有误
如果还有疑惑, 可以再次提问,我们会继续为你解答的
希望能够帮助到了你, 祝学习愉快~~
相似问题