1

通常、php ファイルで新しいコンテンツを作成し、サイトのどこかに実装したい場合は、次のようにします (JS と PHP):

    case 'someCasename':
    ...
    include_once 'file.php';
    break;

...
success: function(data){
    $("#idSelector").html(data);
}

選択した要素に新しいコンテンツが表示されます。

しかし、同時に複数のphpファイルを送信できるかどうかに興味があります。これが本当に必要かどうかはわかりません。これを行う必要がある場合は一度もありませんが、それについて考えて質問したかったのです。この最後のコードはおそらく非常に間違っていますが、私が言いたいことを紹介したいだけです:

    case 'someCasename':
...
$phpArray = array("file1" => include_once 'file1.php', "file2" => include_once 'file2.php', "file3" => include_once 'file3.php'):
echo $phpArray;
break;

...
success: function(data){
    $("#idSelector").html(data.file1);
    $("#idSelector").html(data.file2);
    $("#idSelector").html(data.file3);
}

このようなことはリモートでも可能ですか? あなたはphpファイルをjson_encodeできませんか?

4

1 に答える 1

1

私が正しく理解している場合、含まれているphpファイルは、ajax呼び出しの成功関数で使用したいものをエコーアウトします。

あなたができることは、すべてのインクルードをループし、出力バッファリングを使用してこれらのファイルの出力を配列にキャプチャすることです。

何かのようなもの:

case 'someCasename':
  ...
  $results = array();
  while (files_to_include)
  {
    ob_start;    // start output buffering
    include_once "your_file";
    $results[] = ob_get_clean();    // get the contents of the output buffer
  }
  echo json_encode($results);    // send all collected output as json to be used on the js side
  break;

これは機能しますが、もちろん、代わりにインクルードで値を返す関数を使用する方がよいでしょう。

于 2012-12-03T16:12:14.947 に答える