问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小游戏 需求 工具 wx8888e6cf48888ce&secret 2.3.0
用wx.login获取openid需要到服务器交换一次
如果云开发的云函数可以做http请求,那就非常完美了。
试了一下,发现不行。
想问一下官方的大神,是原本就不行,还是我人品不够好?
代码如下:
// 云函数入口函数
exports.main = async (event, context) => {
request({
url: 'test.php',
header: {
'content-type': 'application/json' // 默认值
},
method: 'GET',
dataType: 'json',
responseType: 'text',
success: function(res) {
console.log(res)
},
fail: function(res) {
console.log(res);
},
complete: function(res) {}
})
}
之前是些wx.request,错误提示说wx未定义。
然后改成request,说request未定义
在云函数内测试,结果如下
返回结果:
{"errorCode":10004,"errorMessage":"user code exception caught","stackTrace":"ReferenceError: request is not defined\n at EventHandler.exports.main [as realHandler] (/var/user/index.js:8:3)\n at EventHandler.handle (/var/runtime/node8/bootstrap.js:238:34)\n at invoke (/var/runtime/node8/bootstrap.js:111:22)\n at Timeout.setTimeout [as _onTimeout] (/var/runtime/node8/bootstrap.js:61:9)\n at ontimeout (timers.js:475:11)\n at tryOnTimeout (timers.js:310:5)\n at Timer.listOnTimeout (timers.js:270:5)"}
那也就是说:
除了在文档内列出的,微信小程序端api和服务端api外,其他的都不能在云函数执行是吗?
微信小程序开发问题解答
微信小程序开发者回答:
云函数内访问外部接口是支持的。
request应用使用npm的request库,外部接口不需要使用SDK
微信小程序开发者回答:
小哥哥
你的意思是,要用nodejs的写法吗?
比如这样子:
request('您的请求url', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // 请求成功的处理逻辑 } });
微信小程序开发者回答:
我试了一下,还是说request未定义吖~~~
微信小程序开发者回答:
哎呀
可以了
我一直没转过弯
原来是要加上request的申明
搞定了,谢谢小哥哥哈哈。
var request = require('request');
加上这句,用微信小程序API里面的request,或者nodejs的,都可以。
微信小程序开发者回答:
楼主怎么搞的,我也是出现那个情况啊
本文网址:http://www.91bianli.com/weixinxiaochengxu/46891.html