时间:2019-05-07 来源:小程序工厂
mark
给你一个例子,试试。
1、云函数json文件
{
"name": "",
"private": true,//重点在这里,要定义下,不然会报错
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}
2、云函数js内容
// 云函数入口文件
const cloud = require('wx-server-sdk')
const request = require('request')
const API_URL = ''
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
var url = API_URL
// return{
// event,context
// }
return new Promise((resolve, reject) => {
request.get(url, (error, response, body) => {
if (error) {
reject()
} else {
try {
resolve(body)
} catch (e) {
reject()
}
}
})
})
}
//npm install request-promise
const rp = require('request-promise');
// 云函数入口函数
exports.main = async(event, context) => {
var res = await rp(
{
method: 'post',
uri: 'https://xxxx.com',
body: {
xxx:'xxx'
},//参数
headers: {},//请求头
json: true //是否json数据
}
).then(( body) => {
return body
}).catch(err => {
return err;
})
return res;
}
提示 Cannot find module 'request-promise'
我没有安装么?
如果用
request = require('request')
这种方法 怎么传递参数呢?
那就要写成 promise 格式 比较麻烦
所以用 现成的
npm install request-promise
用request-promise 这个吧 报 Cannot find module 'request-promise' 用request 写成 promise 这样吧 一直得不到参数 仅仅request传参 居然弄了一下午都没好 心累
npm install request-promise
没看到这个命令么
今天才看到!
控制台安装了以后,还是获得不了,最后把后端的获得方式改成get 就可以获得了,但云函数里写的是post
exports.main = async (event, context) => {
var res = await rp(
{
method: 'post',
uri: 'https://api.caisangzi.com/api/test_zzf',
qs: {
data: 'xxx'
},//参数
headers: {},//请求头
json: true //是否json数据
}
).then((body) => {
return body
}).catch(err => {
return err;
})
return res;
}
这里的 method 是post 后台获得却要用get 怎么回事? 这个post传入失败了?
qs改成body
qs改成body后 后端报错 没有参数了 。。
你后台接说的数据 是
formData还是
json
看了看下面评论 觉得你后端接收的是
formData所以 把 body 改成
formData就可以了
public function test_zzf(){
// $data = $this->input->get('data',TRUE);
// $data = $this->input->post('data',TRUE);