0

也许我需要以另一种方式去做,但这是我想要做的(这很简单)我使用 ajax 将数据发送到 PHP 函数。这是一个例子。

function myAjax(){

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

}

ajax 看起来像这样

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

这不是完整的 ajax 代码,这是在 jQuery UI 事件中,但它无关紧要,重要的部分是data:{}

PHP 代码中的数据存储到数据库中,我在函数内部运行代码以进行交互并添加变量,但这又无关紧要......我如何在这个函数之外访问这些变量?

假设我正在回显一个 div,并且我想使用 $_POST['id'] 作为该 div 的 ID。例子

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

这段代码显然在函数之外......所以我还是个新手,如果有人能向我指出这一点,我将不胜感激:)

4

2 回答 2

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 回答
0

首先,为了了解你得到什么数据,你应该var_dump在 PHP 中做一个:

var_dump($_POST);

这将显示键/值对列表,然后您可以根据需要输出信息。

请注意,jQuery 可能会对数据进行一些自动转换,例如它可能会将您的对象转换为 JSON。在这种情况下,使用json_decode.

于 2013-07-17T06:28:58.863 回答