2016-12-28 4 views
0

Ist es möglich, zwei verschiedene Array von PHP zu jQuery zu senden? Der Versuch, das zwei verschiedene Array von PHP in zwei verschiedene Callback-Parameter zu bringen, die den Inhalt des Arrays in jQuery erfassen.Behandeln mehr als einen Rückrufparameter für Inhalt in 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); 

?> 

Erforderlich Ergebnis:

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

Sie ein Array zurück 'Echo json_encode (array ($ val1, $ val2)); ' – Satpal

Antwort

1

Änderung get.php

<?php 

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

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

    echo json_encode($data); 

?> 

Änderungsskript

$(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: zur Verfügung gestellte Antwort –

2

Es ist besser, die zwei Arrays in einem Array von Arrays hinzufügen, dann als json zurückschicken codierte Zeichenfolge , die später von jQuery decodiert werden kann:

<?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]); 

?> 

und dann in 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); 

    }); 
Verwandte Themen