2016-12-28 3 views
0

phpからjQueryに2つの異なる配列を送ることはできますか? 2つの異なる配列をPHPからjQueryの配列の内容をキャプチャする2つの異なるコールバックパラメータに取得しようとしています。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); 

?> 

変更スクリプト

+0

@YSuraj:答えを提供 –

2

その後jsonエンコードされた文字列としてそれを送り返す、アレイの1つのアレイに二つの配列を追加することをお勧めします後で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]); 

?> 

$(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); 

    }); 

    }); 
、その後、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); 

    }); 
関連する問題