OpenResty中ngx.say和ngx.print的不同

OpenResty中ngx.say和ngx.print的不同

在nginx模块中直接lua嵌入脚本文件,可以直接使用nginx中lua模块的一些函数直接返回数据。可以调用的函数如下:ngx.say(),ngx.print(),return ,ngx.exit()等等,下面介绍一下这些函数的区别:

(1)ngx.say()函数是返回该函数的参数加换行的数据,例如ngx.say(“hello”),则返回数据hello/r/n,

(2)ngx.print()是直接返回函数的参数,例如ngx.print(“hello”),则返回数据hello

(3)ngx.exit()的函数参数只能为http的状态码,例如ngx.exit(200)等等

(4)return是lua中的返回语句关键字,return 返回的值不会出现在返回给客户端的数据中,仅仅是作为lua中函数的返回,可以带参数,表示函数的返回值。

所以如果是需要向客户端返回空数据,可以直接用return,如果需要返回数据则可以结合ngx.ptint()与return一块使用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注