Skip to content

获取请求参数

在使用 T1 后端云云函数编写 API 接口时,通常您需要传递一些有用的数据,您可以通过 ctx 对象中的方法获取当前请求中的数据。

获取请求方法

因为 T1 后端云云函数支持所有的请求方法,因此在使用过程中您可能需要对特定的请求方法进行处理,当然如果您设计程序时,很清楚需要使用什么类型的请求方法,那么您可以不用在意这个问题。

示例代码

通过 ctx 对象中的 getMethod 方法可以获取到当前的请求方法,返回值是字符串类型。

js
function main() {
    let method = ctx.getMethod()
    return '当前的请求方法是:' + method
}

获取 GET 请求参数

您可以通过 ctx 对象中的 query 方法获取 GET 请求参数中的数据。

请求 URL

url
http://您已备案域名/<应用ID>/<函数名>?username=admin&password=123456

示例代码

js
function main() {
    let username = ctx.query('username')
    let password = ctx.query('password')
    if (username == '' || password == '') {
        return '请填写用户名密码'
    }
    if (username != 'admin' || password != '123456') {
        return '用户名或密码错误'
    }
    return '登录成功'
}

获取 POST 请求参数

您可以通过 ctx 对象中的 postForm 方法获取 POST 请求表单中的数据。

示例代码

js
function main() {
    let username = ctx.postForm('username')
    let password = ctx.postForm('password')
    if (username == '' || password == '') {
        return '请填写用户名密码'
    }
    if (username != 'admin' || password != '123456') {
        return '用户名或密码错误'
    }
    return '登录成功'
}

获取请求 Header 中的数据

有些时候您可能也需要获取请求头中的数据,您可以通过 ctx 对象中的 getHeader 方法获取请求头中的数据。

示例代码

js
function main() {
    let user_agent = ctx.getHeader('User-Agent')
    return '当前请求的设备类型为:' + user_agent
}

有些时候您可能也需要获取当前请求中的 Cookie 数据,您可以通过 ctx 对象中的 getCookie 方法获取当前请求中的 Cookie 数据。

示例代码

js
function main() {
    let cookie = ctx.getCookie('test_cookie')
    return 'test_cookie 的值为:' + cookie
}

获取请求 Body 中的数据

通常在使用 POSTPUTDELETE 请求时,会在请求体中传递数据,GET 请求不包含请求体。您可以通过 ctx 对象中的 getBody 方法获取请求体中的数据。使用 SDK 中的 callFunc 方法调用云函数时,您也可以通过 ctx 对象中的 getBody 方法获取 callFunc 中传递的数据。

示例代码

js
function main() {
    let body = ctx.getBody()
    return '请求体中的数据为:' + body
}

技术支持、市场合作:wwwanghua@outlook.com