Luci openwrt的XHR.get请求中如何传数组?

How to pass array in XHR.get request of Luci openwrt?

我正在尝试将数组从 javascript 发送到 Luci Openwrt 中的 XHR.get 请求。

var myarray[] has some contents . for example : `myarray[] = {"1","2","3"}` 

我需要将此数组作为参数传递给 XHR.get 请求。我怎样才能传递这个数组?

这是示例代码:

XHR.get('<%=REQUEST_URI%>', {status: 2,value: myarray},
    function(x, info) {
        if (!info) {
            location.href=location.href;
        }
        else {
            console.log("success");
        }
    }
);

在 Lua 代码中,我收到此表单数据:

if luci.http.formvalue("status") == "2" then
    local DetailValue[] = luci.http.formvalue("value")
    local fileContent = {
        content = "sample1",
        find = "sample2"
    }
    luci.http.prepare_content("application/json")
    luci.http.write_json(fileContent)
    return
end

但是我遇到了错误。这是通过 XHR.get 发送数组的正确方法吗?有什么建议么 ?

这是一个值的示例

XHR.get('<%=url('admin/services/sample')%>',  { example : 'test' }, function(x) {
        <do whatever>
});

function parse_gateway()
    local example = luci.http.formvalue("example")
end

当我尝试使用相同的键传递两个查询参数时,我得到了以下结果

XHR.get('<%=url('admin/services/sample')%>',  { example : 'test', example : 'test1' }, function(x) {
        <do whatever>
});

function parse_gateway()
    local example = luci.http.formvalue("example")
end

这次的例子是test1

所以在你的情况下,你似乎必须有唯一的参数键。

XHR.get('<%=url('admin/services/sample')%>',  { one : '1', two : '2', three : '3' }, function(x) {
        <do whatever>
});

function parse_gateway()
    local one = luci.http.formvalue("one")
    local two = luci.http.formvalue("two")
    local three = luci.http.formvalue("three")
end