[OpenWRT系列]一、LUCI开发之luci.http.formvalue获取表单数据

2023-11-01

[OpenWRT系列]一、LUCI开发之luci.http.formvalue获取表单数据

1. 前言

开发项目过程中需要获取页面的按钮点击动作并且通过传入的值进行相应的操作,例如:实现网页显示运行日志,并且可以通过点击清除按钮清空运行日志。

2. luci.http.formvalue

函数原型为:
luci.http.formvalue (name, noparse)
Get a certain HTTP input value or a table of all input values.
Parameters
name: Name of the GET or POST variable to fetch
noparse: Don’t parse POST data before getting the value
Return value:
HTTP input value or table of all input value

3. 实现思路

点击 清除 按钮网页将 POST 值Clear:1,程序通过formvalue捕获到Clear值后通过相关的文件操作函数清空日志文件。

4. 程序代码

添加显示调试日志菜单

entry({"admin","concentrator", "productmanagement"}, post_on({ exec = "1"},"action_product"), _("Product Management"), 2)

POST调用函数

function action_debug()
	local dlog
	local fs = require "nixio.fs"
	local submit = (luci.http.formvalue("exec")=="1")
	if submit then
		local clear = (luci.http.formvalue("clear")=="1")
		if clear then
			if nixio.fs.access("/tmp/debuglog") then
				file = io.open("/tmp/debuglog", "w+")
            	io.close(file)
			end	
		end
	end
	if nixio.fs.access("/tmp/debuglog") then
		file = io.open("/tmp/debuglog", "r")
		dlog = file:read("*a")
		io.close(file)
	else
		dlog = "NONE!\n"	
	end	
	luci.template.render("admin_user/debug",{dlog=dlog})
end

当点击清除按钮后将提交 exec:1clear:1action_debug 中获取到键值的时候清空文件,并读取该文件将文件内容传递到 admin_user/debug html模板。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[OpenWRT系列]一、LUCI开发之luci.http.formvalue获取表单数据 的相关文章

  • 使用 libsoup 进行 HTTP POST

    我想使用 libsoup 执行一个简单的 POST 请求 我想要发送数据的网站的 api 只需要一个名为 内容 的字段 使用curl我这样做 curl si F content mycontent http mywebsite org ap
  • 使用 Nodejs 和 body-parser 发布表单数据

    我现在已经进行了几次不同的在线尝试 但我的帖子数据一直未定义 并且 console log JSON stringify req body 也没有返回任何内容 所以我在某个地方出错了 HTML
  • 用于嵌入式服务器的 Web 技术

    我最近开始了一个针对嵌入式设备的新 Web 开发项目 并希望征求一些有关使用技术的建议 该设备将提供 HTML 页面 其中包括用于从 JSON 服务器检索数据的 AJAX 代码 我们暂时使用 Cherokee 作为 Web 服务器 但我们并
  • Cakephp 验证后,所有表单字段都为空,并出现表单错误

    我有问题 我尝试填写表单 然后单击提交按钮 然后它显示表单错误 但所有文本框字段都变为空白 并且可以显示表单错误 我希望它变得与验证之前相同的值 就像我不想在验证后清除 清空值一样 我做了这样的事情 在视图中 div class regfo
  • 如何使用 Java 以编程方式登录 Facebook?

    我正在尝试编写一个可以自动登录 Facebook 的 Java 程序 到目前为止 我已经得到了以下代码 可以将主页 html 页面下载到字符串中 但不知道如何发送电子邮件和密码来登录 Facebook Java 程序还需要处理返回的 coo
  • c# http Post 在 webresponse 中没有得到任何内容

    这是我的请求和响应代码 System IO MemoryStream xmlStream null HttpWebRequest HttpReq HttpWebRequest WebRequest Create url xmlStream
  • 如何循环 $_POST 将每个帖子字段作为参数传递给函数?编辑[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将数据从 jQuery 传递到 PHP 以进行 ajax post

    你好 我是一个使用 jQuery 和 Ajax 的新手 我正在尝试使用 Jquery POST 方法将数据提交到服务器 我传递的数据是一个字符串 现在我无法理解如何传递数据以及如何检索数据 我尝试搜索有关我的问题的文章 但没有找到 我相信我
  • 通过 facebook api 在 facebook feed 中发布 swf

    我正在使用下面的数组 feeddata array type gt flash method gt stream publish display gt iframe link gt https developers facebook com
  • 使用哈希检查具有 $_POST 值的页面是否已刷新

    当将表单发布到同一个PHP页面时 正确的方法是什么来查找页面是否被意外刷新而不是再次提交 这是我现在正在使用的 tmp implode POST myHash md5 tmp if isset SESSION myHash SESSION
  • 无法在服务器端 NodeJS 启用 CORS

    我无法启用CORS在服务器端 我的前端和后端服务器有不同的端口 服务器端的实现方式如下 http createServer function req res Here you can create your data response in
  • 如何通过 SSL 将文件直接上传到 S3?

    我已经使用基于浏览器的 Amazon S3 直接 POST 上传有一段时间了 最 近想开始通过 HTTPS 发布 普通的 HTTP 帖子就可以正常工作 但是 当我将相同的表格发布到https s3 amazonaws com https s
  • lua中的权限问题

    是否需要在 corona build settings 中设置一些特定权限才能将高分永久保存在文件中 每次运行代码时都会出现 权限被拒绝 的错误 如何纠正这个错误 这是我尝试过的代码 function read score local f1
  • Jquery post 无法在 IE 8 或更早版本中工作

    所以这个功能在除IE以外的所有浏览器中都有效 我只能访问 IE 8 所以不能说新版本是否有效 我无权访问 PHP 或它如何调用 SQL DB 所以我不能肯定地说这是 JavaScript IE 中永远不会触发警报 post http foo
  • 在弹性搜索中使用 GET/POST 时的不同结果

    我正在通过 Elastic Search Head 插件尝试弹性搜索 当我通过 POST 提交查询时 结果符合预期 但是 当我使用 GET 尝试相同的查询时 我总是会返回索引中的所有值 那么 如何通过 GET 将查询传递到弹性搜索服务器 以
  • iOS 安全性将带有密码的数据发送至服务器或从服务器发送数据

    我正在构建一个应用程序 需要在服务器执行任何操作之前从用户设备发送密码以在服务器上进行身份验证 事情是这样的 用户的手机上有一个纯文本密码 该密码也在服务器中以 bcrypt 二进制文件的形式存在 用户想要从数据库中获取某些内容 因此用户通
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • Openresty 中的并发模型是什么?

    我很难理解 openresty 或 nginx 的并发模型 我读了Lua变量作用域 http wiki nginx org HttpLuaModule Lua Variable Scope 它解释了变量的生命周期 但它没有说明对它们的并发访
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR

随机推荐

  • hive 字符串替换指定字符_字符串:替换空格

    给 代码随想录 一个星标吧 遇到对字符串或者数组做填充或删除的操作时 都要想想从后向前操作怎么样 题目 剑指Offer 05 替换空格 请实现一个函数 把字符串 s 中的每个空格替换成 20 示例 1 输入 s We are happy 输
  • 差分数组的使用

    一 问题 现在 输入一个数组 nums 然后又要求给区间 nums 2 6 全部加 1 再给 nums 3 9 全部减 3 再给 nums 0 4 全部加 2 再给 一通操作猛如虎 请问最后 nums 数组的值是什么 常规的思路很容易 你让
  • “华为杯”研究生数学建模竞赛2015年-【华为杯】B题:数据的多流形结构分析(续)

    目录 4 2 2 算法复杂度分析 4 2 3 参数影响 4 2 4 问题 3 a 求解 4 3 问题 3 b 4 3 1 加权稀疏子空间聚类
  • WEBGL入门

    1 uniform attribute和varying变量 想要将位置信息从javascript程序中传给顶点着色器 有两种方式可做到 attribute变量和uniform变量 attribute变量传输时那些与顶点相关的数据 unifo
  • js获取页面已选中的文字

    直接上代码 document selection createRange text IE9以下使用 window getSelection toString 其他浏览器使用 封装一下 function getSelectText retur
  • c++类与对象——封装

    1 封装的意义 类和对象 C 面对对象三大特性 封装 继承 多态 C 认为万事万物都皆为对象 对象上有其属性和行为 例如 人可以作为对象 属性有姓名 年龄 身高 行为有走 跑 吃饭 唱歌 车也可以作为对象 属性有轮胎 方向盘 行为有载入 放
  • charles代理设置与数据劫持

    1 安装charles 点击帮助 ssl代理 在移动设备或远程浏览器上安装charles root证书 看到如下界面 2 在手机保证和电脑连接同一个wifi的前提下 开启手机代理 输入服务器地址 192 168 5 252 端口号为 888
  • Anaconda创建虚拟环境

    题外话 对自己最近一年多的学习做一个总结 方便日后查看 也希望可以帮助到需要的人 所有内容亲测有效 win10系统下 1 win r 然后输入cmd 打开终端窗口 2 输入命令 conda env list 可以查看当前已经安装的pytho
  • Shell中的括号、方括号、花括号、双括号和双方括号使用场景总结

    前言 最近在学习Shell脚本编程时 发现别人程序的 if then代码块 中if的条件语句中存在 双括号 双中括号 的使用 因而查阅了相关资料 同时也看到了一篇不错的博文 对Shell脚本中括号的使用作出了总结 特此记录和分享 1 括号
  • 【C++】二维数组中数组名及其&、*操作

    目录 简介 场景 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有幸在竞赛中拿过一些国奖 省奖 已
  • 使用matlab随机森林进行数据分类预测

    当使用MATLAB进行随机森林数据分类预测时 以下是一般的步骤 准备数据集 将数据集划分为特征和标签 确保数据集已经清洗并做好特征工程 拆分数据集 将数据集分为训练集和测试集 训练集用于建立随机森林模型 测试集用于评估模型性能 建立随机森林
  • 华为机试:胡杨树补种

    沙漠种植N棵胡杨树 编号1 N 一个月后有M棵未成活 现补种K棵 如何补种 只能补种 不能新种 可以得到最多连续胡杨树 int main N 总种植数量 M 未成活胡杨数量 M 个空格分隔的数 按编号从小到大 K 最多可以补种的数量 int
  • 使用timedatectl命令修改时间和时区

    使用timedatectl命令修改时间和时区 timedatectl是Linux下的一条命令 用于控制系统时间和日期 可以用来查询和更改系统时间设定 同时可以设定和修改时区信息 1 查看当前时间 日期 时区 命令 timedatectl或者
  • Chrome打印台输入就报错Uncaught EvalError: Possible side-effect in debug-evaluate

    问题 使用devtools调试console输入报错 解决方法 关闭chrome调试台中立即求值来解决 关闭此项
  • CDH安装常见问题

    为什么80 的码农都做不了架构师 gt gt gt 1 Intall Parcel 的时候 hash verification failure 首先使用命令以下命令查看其hash值 sha1sum CDH 5 12 0 1 cdh5 12
  • REW声学测试(一):麦克风校准

    更多文章请关注微信公众号 智能音箱设计 最近按照Room EQ Wizard 软件的推荐 购买了其推荐的麦克风 miniDSP UMIK 1 这款麦克风的优点在于它是一款USB麦克风 而非卡侬头麦克风 也就是说 它可以直插电脑 而不需要外接
  • MACOS 如何使用 MSSQL(SQL server)?

    文章目录 一 如何启动SQL Server 2012 数据库服务 记录运行情况和处理方法 二 用界面工具创建自己的数据库 名称自定 试着用界面工具在该数据库 一 如何启动SQL Server 2012 数据库服务 记录运行情况和处理方法 由
  • 数据分析岗位需求分析

    本文爬取了某招聘网站数据分析职位的相关数据 基于SQL和python分析数据分析的岗位需求 了解各个行业对数据分析岗位的招聘需求分布 增进对职业前景的了解 1 爬取数据 首先 基于python的requests get json爬取某招聘网
  • 梦想世界2014年5月29日服务器维护公告,《新梦想世界》8月6日更新:药包系统上线 服务器开放等级加快...

    梦想逍遥侠 带你仗剑走天涯 在2020 ChinaJoy结束之后 多益网络于本周四对 新梦想世界 的游戏内容进行了一波内容更新 此次的更新中最主要内容就是一直受玩家们期待的新收纳系统 并且官方还改进了经验果的使用规则 加快开放服务器等级的进
  • [OpenWRT系列]一、LUCI开发之luci.http.formvalue获取表单数据

    OpenWRT系列 一 LUCI开发之luci http formvalue获取表单数据 1 前言 2 luci http formvalue 3 实现思路 4 程序代码 1 前言 开发项目过程中需要获取页面的按钮点击动作并且通过传入的值进