微信小程式開發 錯誤修改方法筆記
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