Ajax - JSON响应不能很好地读取id数组
Ajax - JSON Response is not reading well an array of ids
下面是我的javascript代码:
$.ajax({
url: './checkcolors.php',
type: 'post',
data: {
url: '<?php echo $LINK;?>',
SizeId: SelectedSizeID
},
dataType: 'json',
success: function (data) {
$.each(data, function(index, element) {
alert(data.colorids);
});
}
});
checkcolors.php的结果如下:
{"colorids":["24604603","24604684","24604640","24604609","24604682","24604686","24604681","24604689","24604602","24604679","24604680","24604622","24604685","24604683","24604621","24604677","24604688"]}
当Ajax post方法被调用时,警报函数给出一个结果,而不是许多单个id。
警报的结果是单一的,它是这样的:
24604603,24604684,24604640,24604609,24604682,24604686,24604681,24604689,24604602,24604679,24604680,24604622,24604685,24604683,24604621,24604677,24604688
我想不知何故我的代码没有正确读取json。你能帮我解决这个问题吗?
提前感谢!
只需将$.each
应用于data.colorids
数组而不是包装data
对象:
$.each(data.colorids, function(index, element) {
alert(element);
});
var data = {"colorids":["24604603","24604684","24604640","24604609","24604682","24604686","24604681","24604689","24604602","24604679","24604680","24604622","24604685","24604683","24604621","24604677","24604688"]};
$.each(data.colorids, function(index, element){
console.log(element);
// Open your console (don't want everybody to be bothered with tons of alerts)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
当数组被放置在不能表示为文字数组的环境中时,JavaScript会自动格式化数组。所以你的代码仍然是一个数组,只是没有按照你想要的方式格式化。
使用JSON.stringify
将JavaScript数组格式化为数组,但在内存中表示为字符串,以下是一个示例:
alert(JSON.stringify(data.colorids));
下面是一个例子,说明你的数据仍然是一个有效的数组,只是表示不同:
var myArray = ['foo', 'bar'];
alert(myArray); // foo,bar
myArray[0]; // 'foo'
根据@blex的回答,我可能误解了你想要的结果。
你必须遍历数组以获得单个值,这可以通过多种方式完成。
只是为了不复制blex的答案,你可以使用本地替代Array.prototype.forEach
:
data.colorids.forEach(function(color){
alert(color);
});
相关文章:
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- 在 JavaScript 中读取/加载 JSON,其中 'id' = 'x'
- 无法读取属性id成员路由
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 可以't让JavaScript将ID读取为变量名
- 我得到未捕获的类型错误:无法读取属性'选项'即使定义了元素id,也为null
- 使用cookie读取html对象的id
- 正在读取特定ID的JSON数据
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- document.getElementById('id').selectedIndex 不读取索引,而是
- 无法读取 null 的属性“addEventListener”---但 ID 在那里
- 按 ID 读取元素
- 从 Windows Azure Mobile Services 中的读取请求中获取 ID
- 从同一个表中按tr id读取td值
- 读取JavaScript中的wicket id值
- 无法读取未定义的属性“id”
- 如何读取textbox's具有动态id
- 仅使用Javascript使用表行(
) id读取表单元格值( ) - Ajax - JSON响应不能很好地读取id数组
- 无法读取id与点和破折号字符在javascript