Как передать массив в XHR.get запрос Luci openwrt?

Я пытаюсь отправить массив из JavaScript в запрос XHR.get в Люси Openwrt .

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? Какие-либо предложения?

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 
Другие вопросы по тегам