如何将 parseJSON 响应保存到数组

Posted

技术标签:

【中文标题】如何将 parseJSON 响应保存到数组【英文标题】:How to save parseJSON responses to an array 【发布时间】:2015-07-04 17:22:50 【问题描述】:

我想使用$.post 方法来发送和接收数据库表,并且我想将响应保存到我定义的数组中,但它不会将其保存在函数之外。如何解决?

var source = [];
$(function()

  $.post("PostPath.php",
        function(response) 
        var data = jQuery.parseJSON(response);
        $.each(data, function( key, value) 
            source.push(value);
            alert(source); // here source array has values
        )
    ) 
 )

alert(source); // but here source array is undefined

【问题讨论】:

你可以看看这个链接***.com/questions/6477802/…我希望这能帮助你找到一些解决方案。 你必须明白 $.post 是一个异步调用。您的第二个警报(来源)在 $.post 之前执行。如果你尝试 alert(1), alert(2) 在那些地方你可以看到执行顺序。 【参考方案1】:

你推入路径,而不是源:

var source = [];
$(function

  $.post("PostPath.php",
        function(response) 
        $.each(response, function( key, value) 
            source.push(value);
        )
        console.log(source);
    , 'json') 
)

【讨论】:

对不起,我在 *** 中编写代码时出错了,是的,它是源代码,但在函数之外没有价值 因此请查看您的回复内容。你有东西退回吗? 是的,绝对有,正如我所说的警报(来源);函数内有价值,但外面没有任何价值;

以上是关于如何将 parseJSON 响应保存到数组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel Eloquent 在数据库中保存 JSON 响应,我收到错误“数组到字符串转换”

将async函数的结果保存到全局变量

如何在swift中将json数组保存和检索到用户默认值?

如何将函数的所有参数保存为字符串? [复制]

如何在Apache Beam / Google Dataflow中使用ParseJsons?

将 Firebase 数据库快速保存到数组中