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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 09:02:23  来源:igfitidea点击:

How to Push AJAX array response into an js array

jquery

提问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);
                    });

            }

enter image description here

在此处输入图片说明

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

查看初始警报的图片

enter image description here

在此处输入图片说明

回答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];
    });
}