在上一篇《編譯Parse-SDK-JS之旅》中已經(jīng)介紹了環(huán)境安裝以及編譯的方法,這里不多說。
我們現(xiàn)在要做的,是改變r(jià)equest方式。
因?yàn)槲⑿判〕绦蛑?,不能使?code>xmlHttpRequest對(duì)象,只能使用官方提供的wx.request api去請(qǐng)求網(wǎng)絡(luò)資源,所以我們要修改代碼,才能移植使用。
定位腳本
研究了會(huì)代碼,發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求函數(shù)在src/RESTController.js文件中,摘抄部分代碼如下:

RESTController.js
修改腳本
好了,我們首先來確認(rèn)下,我們需要在微信小程序中進(jìn)行使用,所以什么xmlHttpRequest之類的代碼,都可以刪除了。
然后我們?cè)傩薷?code>ajax方法即可(request方法不需要修改,因?yàn)樗彩钦{(diào)用的ajax)
修改完畢后的代碼如下:
ajax(method: string, url: string, data: any, headers?: any) {
var promise = new ParsePromise();
var attempts = 0;
var dispatch = function() {
headers = headers || {};
if (typeof(headers['Content-Type']) !== 'string') {
headers['Content-Type'] = 'text/plain'; // Avoid pre-flight
}
// 發(fā)起請(qǐng)求
wx.request({
url, data, method, headers,
success: (res) => {
// 請(qǐng)求成功
promise.resolve(res.data, res.statusCode, res);
},
fail: (res) => {
// 請(qǐng)求失敗
promise.reject(res.toString());
},
complete: (res) => {
// 請(qǐng)求完成
}
});
}
dispatch();
return promise;
},
所以,這個(gè)腳本看起來大概是這樣的(確實(shí)刪除了很多無用的代碼,爽?。?/p>

最終效果
測(cè)試代碼
代碼修改好了,我們重新編譯一下,然后復(fù)制dist/parse.min.js文件到微信小程序目錄,就可以使用了。
最終測(cè)試,發(fā)現(xiàn)完美使用!
實(shí)際在測(cè)試中,還是有點(diǎn)問題,比如
localStorage問題,這個(gè)下邊講,還有就是wx.request規(guī)定url不能帶端口,這個(gè)請(qǐng)自行更改,這里只是測(cè)試代碼有效性

測(cè)試結(jié)果