0

多分私はそれを別の方法で行う必要がありますが、ここで私がやろうとしていることは次のとおりです (簡単です) ajax を使用して PHP 関数にデータを送信します。ここに例があります。

function myAjax(){

      //The data here comes from an ajax call
      $_POST['id']; 
      $_POST['x'];
      $_POST['y']; 

}

アヤックスはこんな感じ

jQuery.ajax({
            type: "POST",
            url: window.ajaxurl,
            data: { "action": "myAjax", id: divid, x: pos_x, y: pos_y }})   
} 

これは完全な ajax コードではありません。これは jQuery UI イベント内にありますが、無関係です。重要な部分はdata:{}

PHPコードからのデータはデータベースに保存されます。関数内でコードを実行して変数をやり取りして追加しますが、これも関係ありません...この関数の外でこれらの変数にアクセスするにはどうすればよいですか?

div をエコーし​​ていて、その div の ID として $_POST['id'] を使用したいとしましょう。例

echo '<div id="'.$_POST['id'].'"></div>';

このコードは明らかに関数の外にあります...だから私はまだ初心者で、誰かが私にこれを指摘できれば感謝しています:)

4

2 に答える 2

0

まず、取得しているデータを理解するためにvar_dump、PHPで次のことを行う必要があります。

var_dump($_POST);

これにより、必要に応じて情報を出力できることに基づいて、キーと値のペアのリストが表示されます。

jQuery は、データに対して何らかの自動変換を行う場合があることに注意してください。たとえば、オブジェクトを JSON に変換する場合があります。この場合、 を使用してサーバー側のデータをデコードしますjson_decode

于 2013-07-17T06:28:58.863 に答える
0

どうやら、リクエストパラメーターをどこかに保存してから、必要な場所に渡す必要があるようです。例えば、

// well, this is quite straightforward
$requestParams = $_POST;

// then pass params to your function
function myAjax(array $params) {
    // here you have local copy of your $_POST parameters

    // EDITED: you can store data in database and return the result, an ID of
    // the row for example

    // some insert SQL
    $id = mysql_insert_id();
    return $id;
}

$newRecordId = myAjax($requestParams);

// here (outside function) you have a global $params variable which you can use
// to echo a div for example 
于 2013-07-17T06:33:34.170 に答える