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