【问题标题】:How to save parseJSON responses to an array如何将 parseJSON 响应保存到数组
【发布时间】: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

【问题讨论】:

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

标签: php jquery arrays post each


【解决方案1】:

你推入路径,而不是源:

var source = [];
$(function
{
  $.post("PostPath.php",
        function(response){ 
        $.each(response, function( key, value) {
            source.push(value);
        })
        console.log(source);
    }, 'json') 
})

【讨论】:

  • 对不起,我在 stackoverflow 中编写代码时出错了,是的,它是源代码,但在函数之外没有价值
  • 因此请查看您的回复内容。你有东西退回吗?
  • 是的,绝对有,正如我所说的警报(来源);函数内有价值,但外面没有任何价值;
猜你喜欢
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多