0

現在、同様の PHP コードを使用する必要があります。このコードを変更することはオプションではありません。

<?
session_start();

include '../connection.inc';

$conn = new Connection();

echo "ID:" . $conn->generateID();
echo "\n";
?>

connection.inc では、新しい Connection() を作成することで、データベースへの接続を確立できます。そこから、データベースは一意の 16 文字の ID を生成できます (conn->generateID)。javascript からこの PHP ファイルを実行するために取得し、javascript の PHP エコーから 16 文字の ID を抽出する方法はありますか?

4

6 に答える 6

3

少し...珍しいですが、AJAX呼び出しに代わるものがあります。Output Buffering

ちょっとした例:

<?php
    ob_start();  //This will stop all echoed output from being sent immediately.
    include("Whereveryourcodeis.php");
    ob_end_clean();  //Discards what has been stored and stops buffering.
?>

このフラグメントの後$conn->generateID、JavaScriptを1行も記述しなくても、ページのどこでも好きな場所で使用できます。

これが少しお役に立てば幸いです。

于 2013-03-06T16:10:01.883 に答える
0

次のようなものを試してください:

<script type="text/javascript">
var dbId = '<?= $conn->generateID(); ?>';
</script>
于 2013-03-06T16:04:48.897 に答える
0
  1. connection.inc を呼び出すラッパー PHP ファイルへの AJAX クエリを作成する JavaScript ファイルを作成します。

  2. JavaScript 内で、AJAX クエリを呼び出して応答を解析すると、ID が得られます。

最後に、おそらくこれには HTTPS を使用する必要があります。

于 2013-03-06T16:10:57.227 に答える
0
<?php

session_start();

include '../connection.inc';

$conn = new Connection();

?>    

次に以下。

<script type="text/javascript">
var bd_id = '<?php echo $conn->generateID(); ?>';


// JUST TO TEST THAT THE ID IS AVALAIBLE IB JAVASCRIPT
alert(db_id); 
</script>
于 2013-03-06T16:05:44.070 に答える
0

jQuery を使用してこのハンドラーを呼び出しAJAX、PHP が結果を返すように指定し、呼び出しが正常に完了したときにreturn正確に何をすべきかを指定する必要があります。AJAXAJAX

ここを参照してください:

http://api.jquery.com/jQuery.ajax/

于 2013-03-06T16:03:54.993 に答える
0

このようなことを試してください

<?php
session_start();

include '../connection.inc';

$conn = new Connection();

print json_encode(array('ID' => $conn->generateID()));

または、上記のコードを変更できない場合は、php 応答 (ajax 呼び出しを使用) を js 変数にロードし、正規表現を使用して ID を照合します。何かのようなもの:

$.get('url/to/php', function (resp) {
    var matches = resp.match(/ID:(.*)\n/);
    console.log(matches);
})

matches[1]ID文字列を保持します。

于 2013-03-06T16:13:12.777 に答える