0

HTMLコードを返す単純なajax呼び出しがあります。

//=======-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-==-=-==-=-=-=-=
//SEARCH Submit ===============================================================================
$('.clicked_search').live("click",function() {
var from = $('#from').val();
var to = $('#to').val();
var sel = $('#sel').val();

var BegDT = new Date(from);
var EndDT = new Date(to);
var sum = BegDT - EndDT;
alert (BegDT +" b"+ EndDT +" e"+ sum);
if(sum > 0 | from == "" & to != "" | from != "" & to == ""){
$('.inv_date').show();
}
else{
    $("#app_panel").html('<div id="flash" align="left"  ><img src="img/clientimg/ajax.gif" align="absmiddle">&nbsp;<span class="loading">Loading Request...</span></div>');
    $("#clock").html('<div id="flash2" align="left"  ><img src="img/clientimg/ajax.gif" height="15px" align="absmiddle">&nbsp;<span class="loading"><font size="1">Loading Request...</font></span></div>');
    $.ajax({
        type: "POST",
        url: "database/clientpanel/logs/search_call_log.php",
        data: {
            from: from,
            to: to,
            sel: sel
            },
        cache: false,
        success: function(html){
            $("#flash").hide();
            $('.inv_date').hide();
            $("#app_panel").append(html);
        }
    });
    $.ajax({
        url: "database/clientpanel/logs/search_clock_log.php",
        cache: false,
        success: function(html){
            $("#flash2").hide();
            $('.inv_date').hide();
            $("#clock").append(html);
        }
    });
}   
return false;
});

しかし、ajaxが呼び出したphpから生成された値を返すことも望んでいます。

session_start();
include("../../dbinfo.inc.php");

// connect to the database
  $client_id = $_SESSION['clientid'];
//===========THIS PHP VALUES RIGHT HERE===================================
      $out = 0;  
      $in = 0;
      $ext =0;
      $min = 0;
      $sec = 0;
//====================================================================
  $query=" select * from call where client='$client_id' ORDER BY date_time DESC";
  $result = $mysqli->query($query);

1回のajax呼び出しを使用して、「htmlコード」を「php値」と一緒に返すにはどうすればよいですか?

4

1 に答える 1

4

データを JSON 形式で転送できます。

PHP 内で、AJAX 呼び出しに返すすべてのデータを含む配列を作成します。

$results = array(
  'html' => $html,
  'variable1'=>'value1',
  'variable2'=>'value2',
  ...
);

json_encode()次に、次を使用して、この配列をJSON形式にエンコードします。

$jsonString = json_encode($results);
echo $jsonString;

これは、PHP からエコー出力する値です。

ここで、jQuery$.ajaxリクエストで を指定する必要があります。これdataType:jsonにより、成功のコールバックですべてのパラメーターにアクセスできるようになります。

$.ajax({
  type: "POST",
  dataType: "json",
  ...
  success: function(data){
    ...
    $("#app_panel").append(data.html);
    // also available :
    // data.variable1 and data.variable2
  }
});
于 2012-12-29T16:01:36.240 に答える