如何通过AJAX函数传递数据

时间:2019-05-01 21:26:20

标签: javascript php ajax

我有一个具有不同链接的数据库,我想获取这些链接并将其放入数组中。

我尝试使用以下代码:

var amz=new Array();

function CreaArrayAmazon()
{$.ajax({
    url: "php/amazon_affiliate.php",
    success: function(data){
        var leanamazon = JSON.parse(data);
        for (i=0; i<leanamazon.length; i++)
            {amz[i]=leanamazon[i].Link
            }
        }
    })
}

我希望在“ amz”数组中找到所有链接,因为它是一个全局变量,而是仅在AJAX函数内部时才保存链接。 如果我在AJAX函数(例如alert(amz[i]))中插入“警报”,则可以正确看到数据,相反,如果在外部看不到任何内容的警报插入,则将amz数组结果保留为事实

有人可以告诉我从那里取出数据吗?

1 个答案:

答案 0 :(得分:1)

您可能会误解这里发生了什么。

AJAX代表异步Javascript和XML。异步意味着您的代码并非总是按顺序运行。

在这种情况下,您的程序的功能如下:./

function CreaArrayAmazon()
{
// Step 1: Make the Call
$.ajax({
    url: "php/amazon_affiliate.php",
    success: function(data){
        // Step 3: When the call succeeds, execute the rest of this inner function.
        var leanamazon = JSON.parse(data);
        for (i=0; i<leanamazon.length; i++)
            {amz[i]=leanamazon[i].Link
            }
        }
    })
// Step 2: Continue Processing....
}

步骤2发生在步骤3之前。在您完成AJAX调用时,Javascript已经完成了您的CreaArrayAmazon调用。

相反,您需要让内部函数(第3步)调用外部函数以对收到的新数据做出反应。