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

微信小程序列表跳转详情页面,根据 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号前加上空格就失败,好像是哪里有空格,请问怎么解决
图片说明

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

那个空格从哪来的,就从那去掉,找一下在哪个步骤出现的空格。