2016-12-28 58 views
0

是否有可能从php发送两个不同的数组到jQuery?尝试从php中获取两个不同的数组,以获取两个不同的回调参数,捕获jQuery中数组的内容。为jQuery中的内容处理多个回调参数?

$(document).ready(function(){ 
 
    
 
    $.ajax({ 
 
     
 
     url : 'get.php', 
 
    
 
     type : 'get', 
 
     
 
     dataType : 'json' 
 
    
 
    }).done(function(data1, data2){ 
 
     
 
    $('span:nth-last-child(2)').text(data1); 
 
    
 
    $('span:nth-last-child(1)').text(data2); 
 
    
 
    }); 
 
    
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div> 
 
    
 
    <span></span> 
 
    
 
    <span></span> 
 
    
 
</div>

<?php 

    $val1 = [ "red", "green", "blue" ]; 

    $val2 = [ "apple", "mango" , "orange" ]; 

    echo json_encode($val1); 

    echo json_encode($val2); 

?> 

所需的结果

red,green,blue 
apple,mango,orange 
+1

您返回数组'回声json_encode(阵列($ val1,$ val2));' – Satpal

回答

1

变化get.php

<?php 

    $data['val1'] = [ "red", "green", "blue" ]; 

    $data['val2'] = [ "apple", "mango" , "orange" ]; 

    echo json_encode($data); 

?> 

改变脚本

$(document).ready(function(){ 

    $.ajax({ 

     url : 'get.php', 

     type : 'get', 

     dataType : 'json' 

    }).done(function(data){ 

    $('span:nth-last-child(2)').text(data.val1); 

    $('span:nth-last-child(1)').text(data.val2); 

    }); 

    }); 
+0

@YSuraj:提供了答案 –

2

最好是两个阵列添加到阵列中的一个阵列,然后将其发送回作为json编码的字符串,以后可以从jQuery解码:

<?php 
$arr = [0=>$val1, 1=>$val2]; 
//Send encoded string to client 
echo json_encode($arr); 
//This will produce something like: [["red","green","blue"],["apple","mango","orange"]] 
?> 
1
<?php 

    $val1 = [ "red", "green", "blue" ]; 

    $val2 = [ "apple", "mango" , "orange" ]; 

    echo json_encode(['val1'=>$val1,'val2'=>$val2]); 

?> 

,然后在jQuery的

.done(function(response){ 
    var res = json_decode(response); 
    $('span:nth-last-child(2)').text(res.val1); 

    $('span:nth-last-child(1)').text(res.val2); 

    });