如何在2个变量中获取Jquery响应?

时间:2017-02-20 21:45:40

标签: javascript jquery

我在javascript中有下一个代码:

      $.ajax({
        type : "POST",
        url : "get_link.php",
        data: {
        },
        success:function (data) {
            links = data; -> Here needs to be the first line of the query
            seconds = data2; -> Here needs to be the second line of the query


        }
    });

我想从get_link.php获取信息,get_link.php是这样的:

["http://stackoverflow.com", "http://mywebsite.com"]
[10, 100]

我希望得到明白的信息,因为我想定义一个变量,链接第一行和秒,第二行。 感谢

2 个答案:

答案 0 :(得分:0)

拆分换行符上的响应:

success: function(data) {
    var lines = data.split('\n');
    var links = JSON.parse(lines[0]);
    var seconds = JSON.parse(lines[1]);
    ...
}

但是如果你返回一个包含二维数组的JSON会更好。

$seconds = array();
$links = array();
while ($row = mysqli_fetch_assoc($result)) {
    $seconds[] = $row['seconds'];
    $links[] = $row['links'];
}
echo json_encode(array('seconds' => $seconds, 'links' => $links));

甚至更好,将相关数据保存在一起:

$results = array();
while ($row = mysqli_fetch_assoc($result)) {
    $results[] = array('seconds' => $row['seconds'], 'link' => $row['link']);
}
echo json_encode($results);

这将产生:

[{"seconds": 10, "link": "http://stackoverflow.com"},
 {"seconds": 100, "link": "http://mywebsite.com"}]

答案 1 :(得分:0)

如果响应是1个数组,您可以使用data [0]和data [1]访问它。 如果响应只包含2个(或几个)对象,我认为你可以像这样定义你的成功函数:

success:function (dataLinks, dataSeconds) {
            links = dataLinks; 
            seconds = dataSeconds;
        }