1

我正在尝试将数组从 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 发送数组的正确方法吗?有什么建议么 ?

4

1 回答 1

1

这是一个值的示例

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 
于 2017-10-17T00:07:51.840 回答