现在uniapp 开发访问后台使用 uni.request(OBJECT) 接口,现在我想要包装一下此接口到 js
文件种,然后再在vue文件开发进行引用,发现 uni 对象放进js 文件后就消失了,报错,错误信息如下
17:11:05.831 appServiceSDKScriptError
17:11:05.853 e.hasOwnProperty is not a function; at wx.request
17:11:05.872 TypeError: e.hasOwnProperty is not a function
17:11:05.975 at eval (uni-app:///common/shanzhuAjax.js?99e9:66:9)
17:11:06.016 at _class.ajaxPost (uni-app:///common/shanzhuAjax.js?99e9:36:11)
17:11:06.037 at Vue$3.onLoad (uni-app:///pages/index/index.vue?4cb1:132:11)
所以想请教下,如果将 uni.request(OBJECT) 对象包装进js,我需要做什么调整或者是否支持我的这种方式?
本来打算引入axios ,发现由于JS限制原因,方案失败!
--------------------------------------------关联描述----------------------------------------------------
JS限制
不能使用浏览器自带对象,比如document、window、localstorage等,更不能使用jquery等依赖这些浏览器对象的框架。因为各家小程序快应用都不支持这些对象。
美国大队长的盾 (作者)
漂亮,谢啦!看来得同时看这些文档啊,只看uni确实不全!
2018-08-10 17:26
美国大队长的盾 (作者)
还有个问题,uni微信fly const Fly=require("flyio/dist/npm/wx") 测试通过,app 的话是使用同一个还是 //var Fly=require("flyio/dist/npm/fly") 这个。 同一个app中测试通不过,错我信息 request:fail abort 如果使用require("flyio/dist/npm/fly"),错误信息:TypeError: this.engine is not a function 。那么uniapp 使用哪个方案呢?
2018-08-10 18:54
DCloud_UNI_FXY
在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,可以保持app 和小程序的兼容性,但是还是建议使用 uni.request 来调用,因为 uni.request 本身就具备了跨平台能力
2018-08-11 00:26
美国大队长的盾 (作者)
回复 DCloud_UNI_FXY:在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,在微信中可以测试通过,app中测试通不过,错误信息 request:fail abort
2018-08-11 11:12
美国大队长的盾 (作者)
回复 DCloud_UNI_FXY: 在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,可以保持app 和小程序的兼容性 【 bug 在app 环境下不能使用127.0.0.1 错误信息 request:fail abort ;我换成了 内网ip 或外网ip就可以了,知道是不是bug】
2018-08-12 22:49