双人余公 2020-04-07 15:55 采纳率: 75%
浏览 1505
已采纳

微信小程序列表跳转详情页面,根据 sitemap 的规则[0],当前页面 [pages/detail/detail?id=%20xxxx] 将被索引,多了一个%20,后面获取失败怎么解决?

我做一个从主页列表跳转到详情界面的微信小程序,主页代码:
wxml

<block wx:for="{{courseList}}" wx:key="index">
<view class="itemCourse" bindtap="goDetail" data-id=" {{item._id}}">
  <text>课程名:{{item.Cname}}\n</text>
  <text>时间:{{item.time}}\n</text>
  <text>学分:{{item.credit}}\n</text>
  <text>教师名:{{item.teacher}}\n</text>
  <text decode="{{true}}">容量:{{item.volume}}     &ensp;剩余量:</text>
</view>
</block>

js

Page({
  //定义一个空数组
  data: {
   courseList: []
  },

  onLoad(){
    wx.cloud.database().collection("course")
      .get()
      .then(res=>{
         console.log("请求成功", res)
         this.setData({   //用箭头函数,则this还是指向page
         courseList: res.data
      })
    })
    .catch(res=>{
      console.log("请求失败", res)
    })
  },


  goDetail(event){
    console.log("点击获取的数据",event.currentTarget.dataset.id)
    wx.navigateTo({
      url: '/pages/detail/detail?id=' + event.currentTarget.dataset.id,
    })

  }
})

详情界面js:

Page({
  data:{
     detail:''
  },

 onLoad(options){ 
   console.log("详情接收的id",options.id)
   wx.cloud.database().collection("course")
     .doc(options.id)
     .get()
     .then(res=>{
        console.log("详情页成功",res)
         this.setData({
         detail:res.data
     })
     })
     .catch(res=>{  
     console.log("详情页失败", res)
     })

 }
})

然后黄色那行id号前面有个%20,到详情接收的id都对,后面失败,我尝试把id写死,没有问题,id号前加上空格就失败,好像是哪里有空格,请问怎么解决
图片说明

  • 写回答

2条回答 默认 最新

  • ChocolateTan 2020-04-07 18:53
    关注

    %20 是空格,你要去掉她哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 10月10日

悬赏问题

  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统
  • ¥15 selenium 控制 chrome-for-testing 在 Linux 环境下报错 SessionNotCreatedException
  • ¥15 使用pyodbc操作SQL数据库
  • ¥15 MATLAB实现下列
  • ¥30 mininet可视化打不开.mn文件
  • ¥50 C# 全屏打开Edge浏览器
  • ¥80 WEBPACK性能优化
  • ¥30 python拟合回归分析