Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery get json每个都在堆叠字符串,而不是追加字符串_Javascript_Jquery_Json_Html - Fatal编程技术网

Javascript jQuery get json每个都在堆叠字符串,而不是追加字符串

Javascript jQuery get json每个都在堆叠字符串,而不是追加字符串,javascript,jquery,json,html,Javascript,Jquery,Json,Html,我有一个接收json五个数字的jQuery get。在get中,我有一个each函数,它应该附加到原始字符串,而不是将所有数据组合在一起。我尝试了getJSON,而不是在函数末尾使用“json”变量获取。有什么想法吗 My“/?a=getrigs”JSON 我的jQuery: var rigselect = "<select id='myid'>"; $.get("?a=getrigs", function(rigdata) { $.each(rigdata, functio

我有一个接收json五个数字的jQuery get。在get中,我有一个each函数,它应该附加到原始字符串,而不是将所有数据组合在一起。我尝试了getJSON,而不是在函数末尾使用“json”变量获取。有什么想法吗

My“/?a=getrigs”JSON

我的jQuery:

var rigselect = "<select id='myid'>";
$.get("?a=getrigs", function(rigdata) {
    $.each(rigdata, function(rigkey, rigval) {
        rigselect += "<option value='" + rigval + "'>" + rigval + "</option>";
    });
    rigselect += "</select>";
}, "json");
var rigselect=“”;
$.get(“?a=getrigs”,函数(rigdata){
$。每个(rigdata,函数(rigkey,rigval){
rigselect+=“”+rigval+“”;
});
rigselect+=“”;
}“json”);
它产生了什么:

<select id='myid'>
<option value="50,81,82,85,86">50,81,82,85,86</option>
</select>

50,81,82,85,86

反序列化JSON时,它将成为一个数组数组

当您循环外部数组中的项时,只有一个项,即数组。当您将数组与字符串连接时,数组将转换为字符串,即数组中由逗号分隔的项

将JSON更改为一个数组:

["50","81","82","85","86"]
或通过内部数组而不是外部数组进行循环:

$.each(rigdata[0], function(rigkey, rigval) {

我不明白您试图实现什么以及问题是什么。请记住,您发布的输出是一个数组而不是JSONY您的json结果是一个嵌套数组,请使用
$。每个(rigdata[0]…
)或更改您的结果并使用$。GetJSONA您确定rigval包含json中的一个值吗?您可以尝试console.log(rigval)吗?查看结果。@Diego:JSON值不必是对象,它可以是数组,甚至只是一个值。
$.each(rigdata[0], function(rigkey, rigval) {