总算解决了数据不能获取Timeout的问题,老师看看如何解决它,看是不是编码配置的问题

总算解决了数据不能获取Timeout的问题,老师看看如何解决它,看是不是编码配置的问题

原问题:

https://class.imooc.com/course/qadetail/125808

原代码:

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'
};

修改后:

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'
};

环境:Mac+谷歌浏览器+跟源码基本一样

相关资料:

http://www.w3school.com.cn/tags/html_ref_urlencode.html

不过用w3的 :  为 %3a

代码如果用小写a也不行,提示超时;

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

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

2回答
正在想名字呢 2019-06-16 12:00:45

这应该不是你编码的问题,应该是请求的数据接口的问题,换句话说,接口就是这么配置的

  • 提问者 阿感 #1
    嗯,也有可能
    2019-06-16 12:47:30
提问者 阿感 2019-06-15 22:30:35

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

上面是查看获取得到拼接的接口

最终继续优化:

const params = {
 api:'mtop.taobao.detail.getdetail',
 ttid: '2017@taobao_h5_6.6.0',
 data: `{"itemNumId"%3A"${id}"}`,
 appKey:12574478,
 dataType:'jsonp',
 type:'jsonp',
 v:'6.0'
};

其它都可以像老师提供的一样,唯独 :  这个符号中英文下都不行,必须写成 %3A

小写都不行,不然报错;

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

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


  • 宗桦 #1
    哥,怎么正确写params参数啊,我都看懵了,一些百分比数字的,有的写@,有的忽略不写,有的要写上去,例如这个 data: `{"itemNumId"%3A"${id}"}`, 它的接口是写 data=%7B%22itemNumId%22%3A%22555567044840 itemNumId前面的%7B%22为什么没有写,%22也没写,%3A后面的百分比符号也没写,看不懂。。。
    2019-10-04 10:53:16
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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