luci与页面的数据交互

htm中通过XHR调用lua脚本,lua script  location : /usr/lib/lua/luci/controller/admin/xxx.lua

xxx.htm:

1.静态调用

var callPath='<%=luci.dispatcher.build_url("admin", "xxx", "dev_info")%>';

callPath=callPath+'/'+param1+'/'+param2;         //如果需要传参

 XHR.get(callPath,null,function(x,rval){

          ......

    }

);


2.动态调用

var callPath='<%=luci.dispatcher.build_url("admin", "xxx", "dev_info",parameter)%>';

XHR.poll(5,callPath, null,function(x,callPath rval){

        ......
    }

);

第一个参数为定时刷新时间(单位:S)

第二个参数是luci生成的路径,其中parameter是传递给lua的参数

第三个参数暂时未知,填null不影响

第四个是回调函数:

           x:是XHR对象,一般用不着

           rval:是lua函数的返回值(一般取值rval[0])


3.触发submit提交调用

<script>

         document.getElementById("ID_INPUT_submit").value=paramt;   //value 值将会被传到lua中
 document.getElementById("ID_INPUT_submit").click();   //触发submit事件

</script>

<form style="display:none" method="post"  action="<%=luci.dispatcher.build_url("admin", "xxx","dev_info")%>" enctype="multipart/form-data">

 <input id="ID_INPUT_submit"  name="getpackage" type="submit"  \>
 </form>

xxx.lua:

entry({"admin", "xxx", "dev_info"}, call("dev_info"), nil).leaf = true   


页面方法1,2相同:

--paramval:接收传下来的参数,(有两个,写两个入参)
function dev_info(paramval)

    local function getDev(val)
              ......
              return .....
    end

    luci.http.prepare_content("application/json")
    luci.http.write('[')
    luci.http.write_json(getDev(paramval))
    luci.http.write(']')
end

页面方法3:

function dev_info()

     local value=luci.http.formvalue("getpackage")   --获取传下来的value值,其中getpackage是input的name

    .......

end


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值