1. 程式人生 > >微信小程式開發 錯誤修改方法筆記

微信小程式開發 錯誤修改方法筆記

1  微信小程式中呼叫豆瓣API介面時提示錯誤 GET http://api.douban.com/v2/movie/in_theaters 400 的解決方法如下
loadMovie:function(){
    var page=this;
    wx.request({
      url: 'http://api.douban.com/v2/movie/in_theaters', //僅為示例,並非真實的介面地址
      header: {
        'content-type': 'application/json' // 預設值
      },
      success: function (res) {
        console.log(res.data)
      }
    })
  }
以上程式請求豆瓣API的時候出錯不能夠正常得到網站的資料,後來發現,官方給的那個預設值需要改一下,也就是
      header: {
        'content-type': 'application/json' // 預設值
      },
以上程式中的'application/json'
需要改成'json'

之後在執行就不會出錯了。

2  微信小程式提示錯誤:Cannot read property 'name' of undefined;at pages/movie/movie page processSubject function


這種錯誤就是在程式某個位置過多查詢了,多加了一個  .name  
就比如:subject.genres下面就沒有了如果加上一個subject.genres.name就會出出現上述錯誤

3  微信小程式,迴圈提取資料bug,不能夠迴圈提取已有的陣列中的資料。

<block wx:for="movies"wx:key="*this">
    <view class="movie">
      <view class="pic">
        <image src="item.images.medium" mode="aspectFit"/>
      </view>
      <view class="movie-info">
        <view class="base-info">
          <text>{{item.text}}</text>
        </view>
      </view>
    </view>
    <view calss="hr"></view>
  </block>
以上程式碼中movie 無法正常提取其中的 text項
修改方法:將上述<block wx:for="movies"wx:key="*this">中的wx:for="movies"改成wx:for="{{movies}}"之後就能正常輸出資料了。
        <image src="item.images.medium" mode="aspectFit"/>數程式碼改成<image src="{{item.images.medium}}" mode="aspectFit"/>
其中item代表當前這個資料即movies[i]因此通過兩個大括號提取出來其中的資料就可以執行輸出了。

4  微信小程式的背景無法充滿螢幕。
在升級後的客戶端預設height值改變了,需要在.wxss檔案的最前端加上以下程式
page{
  height: 100%;
}

5  當引用其它JS檔案時,在全域性utils.js裡配置完成後在呼叫視窗宣告 var subjectUtil=require("../../utils/subjectUtil.js");
提示錯誤:Uncaught Error: module "pages/utils/subjectUtil.js" is not defined
解決方法是需要在 utils.js裡寫如下程式
module.exports={
  processSubject(你外部用的函式名): processSubject(內部宣告的函式名),
  processSubjects: processSubjects
}




6  提示錯誤:appservice:16 GET http://api.douban.com/v2/movie/in_theaters net::ERR_NETWORK_CHANGED
檢查以下自己電腦的網路,或者重啟開發者程式。


7  當引用其它JS檔案時會提示錯誤:
WAService.js:3 thirdScriptError


this.setData is not a function;at pages/recommend/recommend loadMovie function;at api request success callback function


TypeError: this.setData is not a function
程式碼如下
  

loadMovie: function () {
    var page = this;
    wx.request({
      url: 'http://api.douban.com/v2/movie/top250', //僅為示例,並非真實的介面地址
      header: {
        'content-type': 'json' // 預設值
      },
      success: function (res) {


        var subjects = res.data.subjects;
        subjectUtil.processSubjects(subjects);
        page.setData({ movies: subjects, hidden: true });
      }
    })
  }

當把subjectUtil.processSubjects(subjects);
換成page.processSubjects(subjects);的時候並且在當前js檔案裡面定義函式就不會出錯。但是沒有解決呼叫其它檔案裡封裝的函式。




8  提示錯誤:VM131:2 Failed to load image 
          http://239319157.debug.open.weixin.qq.com/pages/detail/detail : the server responded with a status of 404 (HTTP/1.1 404 Not Found) 


          From server 127.0.0.1
   官方說法是1.5.2引入的bug。換成之前版本就不會報錯,但是圖片卻沒有顯示出來,這就很尷尬了。




9  bug:按鍵點選效果不能夠正常顯示
   bug:問題7