kepler/xavanter点滴

本文介绍了使用 Lua 进行 Web 开发过程中遇到的问题及解决办法,包括 sajax 的正确使用方式,一个实用的 JavaScript 可编辑表格代码,以及解决 cgilua 文件上传时的 bug。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1: sajax

使用了sajax,但发现一个问题就是,如果使用sajax的页面多打开几个或者重新load,则sajax功能在新窗口不生效,查看sajax.lua代码发现,

在get_javascript中对sajax的js_has_been_shown变量被赋值了(不知道为什么不是local模式),修改方式可为:

  a。无条件执行table.insert (js, get_common_js ())语句

  b。在init寒素中将js_has_been_shown变量置为false

 

 

2: 发现一个很好的用javascript写的可编辑/提交表格代码,支持checkbox,list以及text等,非常符合我目前需求

  http://hi.baidu.com/senty/blog/item/0b0a8226797112128b82a152.html/cmtid/2b8462d00f0d6683a0ec9cdb

 

3: 如果采用了luarocks install kepler-xavante方式安装,对于test.lp页面,上传文件后将会出现如下错误:

 

d:/lua/LuaRocks/rocks//cgilua/5.1.3-1/lua/cgilua.lua:585: attempt to
use a closed file
stack traceback:
       [C]: in function 'close'
       d:/lua/LuaRocks/rocks//cgilua/5.1.3-1/lua/cgilua.lua:585: in function
       [C]: in function 'foreachi'
       d:/lua/LuaRocks/rocks//cgilua/5.1.3-1/lua/cgilua.lua:584: in
......
其原因是cgilua的一个bug引起的,打开cgilua.lua,在reset函数中,最后修改如下,即可:
    foreachi(_tmpfiles, function (i, v)
        v.file:close()
        local _, err = remove(v.name)
        if err then
            error(err)
        end
    end)
    _tmpfiles = {}
该bug已经在最新cgilua中修正

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值