关于openresty的一些介绍看这里

  首先,实验背景为openresty作为后台来处理前台post传递的数据。

  在openresty内,有一个FormInputNginxModule模块,作用是解析post请求中的参数。

  如果要使用该模块,需要在编译openresty源码时,在"./configure"一步添加参数:

./configure --add-module=/somepath/form-input-nginx-module --add-module=/somepath/ngx_devel_kit

  在这里可以查看到FormInputNginxModule模块的说明。


  我们需要获取post请求中的数据,所以这里用到FormInputNginxModule模块的下面这个命令:

set_form_input $variable argument;

  于是,我们有post请求:

 var json = {
data: "Hello!"
};
$.post(
'save',
json,
function(callback){
alert(callback);
}
);

  其中function用以输出后台返回的数据。

  接着,我们有nginx配置文件nginx.conf:

 user root;
worker_processes ; error_log logs/error.log;
pid logs/nginx.pid; events {
worker_connections ;
# multi_accept on;
} http {
include mime.types; access_log logs/access.log; server {
listen ;
server_name localhost; location / {
root /var/www/aceEditor;
index index.htm index.html;
} location /save {
set_form_input $data data;
  echo $data;
}
}
}

  这样,当前台post数据时,就会触发nginx的/save块,于是通过FormInputNginxModule模块的set_form_input指令将post的data数据set给了变量$data,然后我们就可以处理获取的变量。在这个实验中,使用echo向前台返回数据。

  于是,前台点击post后,会弹出响应:

  

  到这里,一个完整的post过程就完成了。

  随后,在post提交的json中传递的参数,都可以用FormInputNginxModule模块的set_form_input指令来获取,这样,后台就取到了前天传递的数据,接着结合lua,继续更多的操作。

【openresty】获取post请求数据FormInputNginxModule模块的更多相关文章

  1. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  2. 测开之路一百二十六:flask之获取request请求数据

    可以根据flask的request对象获取所有的请求信息 path = request.path # 获取请求地址method = request.method # 获取请求方法ip = reques ...

  3. 获取post请求数据工具类

    package com.ccidit.features.otherFunctions.util; import java.io.BufferedReader; import java.io.IOExc ...

  4. WebAPI获取客户端请求数据

    1.什么是WebAPI,详见:http://www.cxyclub.cn/n/25123/2.一般情况下我们不需要去关心客户端的请求数据,WebAPI会通过自己的方式去将客户端请求的数据转换为实体对象 ...

  5. Flask04 后台获取请求数据、视图函数返回类型、前台接受响应数据

    1 后台获取请求数据 1.1 提出问题 前台发送请求的方式有哪些 后台如何获取这些请求的参数 1.2 前台发送请求的方式 GET.POST.AJAX 点睛:如果不指定请求方式,浏览器默认使用GET请求 ...

  6. yii学习笔记(4),获取请求数据的request组件

    yii在控制器中获取请求数据需要通过request组件来完成 <?php namespace app\controllers; use yii; use yii\web\Controller; ...

  7. java getway springcloud 记录请求数据

    java getway springcloud 记录请求数据,兼容post请求无参数和response返回无参数 方式1 import com.icar.web.icarutils.util.Clie ...

  8. C#爬虫之通过Selenium获取浏览器请求响应结果

    前言 在进行某些爬虫任务的时候,我们经常会遇到仅用Http协议难以攻破的情况,比如协议中带有加密参数,破解需要花费大量时间,那这时候就会用Selenium去模拟浏览器进行页面上的元素抓取 大多数情况下 ...

  9. openresty 学习笔记二:获取请求数据

    openresty 学习笔记二:获取请求数据 openresty 获取POST或者GET的请求参数.这个是要用openresty 做接口必须要做的事情.这里分几种类型:GET,POST(urlenco ...

随机推荐

  1. IE8 jq focus BUG

    jq的 .focus() 在IE8下面会有一些意想不到的BUG,下面是解决办法: 一.我做的项目中有些场景需要用到键盘的回车作为触发事件,然后把focus移到其他功能或者按钮上面,刚刚好这个按钮或者功 ...

  2. centos 7 相关的一些记录

    开80端口: /tcp --permanent 重新加载防火墙: sudo firewall-cmd --reload 安装nginx: sudo rpm -Uvh http://nginx.org/ ...

  3. ArcGIS api fo silverlight学习三(利用ElementLayer实现鼠标悬浮弹出自定义窗体)

    接着上一节继续学习,本节主要是利用ElementLayer实现鼠标悬浮弹出自定义窗体 参考博文:http://www.cnblogs.com/luxiaoxun/p/3322218.html 一.新建 ...

  4. collection集合框架

    Java类集框架的优势:       1) 这种框架是高性能的.对基本类集(动态数组,链接表,树和散列表)的实现是高效率的.一般很少需要人工去对这些“数据引擎”编写代码.        2) 框架允许 ...

  5. R&Rstudio安装各种包

    安装rCharts的方法 install.packages('devtools') library(devtools) require(devtools) install_github('ramnat ...

  6. 使用VideoToolbox硬编码H.264<转>

    文/落影loyinglin(简书作者)原文链接:http://www.jianshu.com/p/37784e363b8a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. ======= ...

  7. ---Java 678

    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update udo apt-key adv --recv-key --keyser ...

  8. IDL中的HRESULT值

    IDL中的HRESULT值

  9. 使用SerialPort 读取外置GPS信息和使用GeoCoordinateWatcher获取内置gps的信息

    简介最近工作中需要读取gps设备的信息,平板本身有内置的gps设备,但是精度不够,就又添加了一个外置的gps.对于外置的gps,我们主要通过SerialPort类来获得串口的信息,然后对接收到的内容进 ...

  10. 使用 Entity Framework Core 时,通过代码自动 Migration

    一 介绍 在使用 Entity Framework Core (下面就叫 EF Core 吧)进行开发时,如果模型有变动,我们要在用 EF Core 提供的命令行工具进行手工迁移,然后再运行程序.但是 ...