2017-03-25 11 views
0

私はこのサイトにはカウントダウンがあります。時間が0になると、JSからのAJAXリクエストを使用して、PHPを使用して新しいカウントダウンとコンテストを更新します。新しいAJAXリクエストでは、image urlとcount_down timeの2つの値を返す必要があります。AJAXリクエストから2つの別々の値を返す方法は?

$.ajax({url: "new_contest.php", success: function(result) { 
    $("#count_down).time(result); 
}); 

私は成功関数で結果を返すことができますが、結果の1つしか返すことができません。また、PHPでAJAXページからsessionを作成して、JS変数の中にセッションを入れてみました。しかし、プロセスは非常に複雑で、これを達成するためのより簡単な方法があるように感じます...

new_contest.php(AJAXページ)のコードを表示する必要はあまりありません。ページには、これら二つの必要な値を出力に向けて動作します:)

+0

最もpopulsrソリューションは、JSONを使用しています。 –

+0

@u_mulder例を教えていただけますか?私は今までjsonを使ったことがないと思います... – user6902601

答えて

1
PHPで

<?php 
error_reporting(0); 

$var = array('time' => "2017-12-23 23:23:23",'someval' => 'hello'); 
print_r(json_encode($var)); 
AJAXで

$.post('1.php',{val: 'val'}).done(function(data){ 
    if(data!='null' && typeof data !=='undefined'){ 

    data = JSON.parse(data); 
     $("#count_down").time(data.time); 
     $("#count_up").time(data.someval);  
    } 
}) 
+0

AJAXのページから質問がありました。 'time'と' someval'は、AJAXページからエコーされる変数を表しています。このページは現在結果をロードしています... – user6902601

+0

@ user6902601申し訳ありません。私の答えを更新downvotingしてくれてありがとう..それはすべての配列の要素からPHP –

+0

あなたは素晴らしいです... – user6902601

0

あなたは、PHPファイルから複数の値を引き出したい場合は、JSONを使用する必要があります...

をHTMLファイルに...

<script> 
var xmlhttp = new XMLHttpRequest(); 
var url = "yourphpfile.php"; 

xmlhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     var thisvariable = JSON.parse(this.responseText); 
     yourfunction(thisvariable); //do somthing here for the returned json object 
    } 
}; 
xmlhttp.open("GET", url, true); 
xmlhttp.send(); 



</script> 

その後inyour phpファイル

<?php 
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

    echo json_encode($arr); 
?> 

これが役に立ちます。

+0

簡単な例を教えてください。これは答えよりもコメントのほうが多いです。 – user6902601

0

PHP関数の結果を配列に入れた場合、json_encode($ yourArray);を使用してJSONとしてフロントエンドに返すことができます。

JSONはPHP配列と同じように、AJAX成功呼び出しでアクセスできます。 https://www.tutorialspoint.com/json/

関連する問題