jQuery 如何将 AJAX 数组响应推送到 js 数组中
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10258163/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to Push AJAX array response into an js array
提问by Pawan
On a AjAX call , i am getting data
在 AjAX 调用中,我正在获取数据
success : function(data){
alert(data);
}
This is the result of that alert
这是那个警报的结果
[/files/1.jpg,/files/2.jpg,/files/3.jpg]
I want to push this result into a javascript array
我想将此结果推送到 javascript 数组中
var outputdata = [];
Where the array outputdata should look like
数组 outputdata 应该是什么样子的
var outputdata = [/files/1.jpg,/files/2.jpg,/files/3.jpg];
I tried this way
我试过这种方式
success : function(data){
alert(data);
outputdata.push(data);
}
Updated Part
更新部分
I tried with yours as wel as with this
我试过你的和这个
success: function(data) {
$.each(data, function(i) {
outputdata.push(data[i]);
});
alert(outputdata);
outputdata.forEach(function (element) {
content = "<div><a href='#'><img src=" + element + " /></a></div>";
$("#container").append(content);
});
}
The initial alert data is fine (I mean initial means )
初始警报数据很好(我的意思是初始手段)
success: function(data) {
alert(data);
$.each(data, function(i) {
outputdata.push(data[i]);
});
alert(outputdata);
See the Picture of initial alert
查看初始警报的图片
回答by thomas
Why would you do that? datais already an array and you can call the elements by
为什么要这么做? data已经是一个数组,您可以通过以下方式调用元素
data[i]
Or is it a data string that is returned from you ajax call? Than you need to parse it first, like
或者它是从 ajax 调用返回的数据字符串?比你需要先解析它,比如
var your_data = JSON.parse(data);
and can call it by
并且可以通过
your_data[i]
Anyway, looping an array would look like this:
无论如何,循环数组看起来像这样:
success: function(data) {
$.each(data, function(i) {
outputdata[i] = data[i];
});
}