0

我有这个 ajax 代码

$.ajax(
{
   type: "POST",
   url: "getData.php",
   data: ValueToPass,
   cache: false,
   success: function(html)
   {
      LastDiv.after(html);
   }
});

我对这个 Ajax 东西很陌生。
此代码是加载 getData.php 文件并通过 POST 类型发送变量。变量在 this 中var ValueToPass = "lastid="+LastId+"&br="+br;
这段代码所做的另一件事是在加载后返回 getData.php 的 HTML。
大概与这个有关。success: function(html)

加载后如何从 getData.php 返回这个$br变量,以便在下一个循环中再次使用它。因为这里发生的事情是我可以使用 Ajax 将变量放在 getData.php 中并使用它,但是当加载文件 getData.php 时,在该文件之外,该变量是未知的(未声明)。而且我正在失去计数:S

我想返回 HTML 和变量。

4

4 回答 4

1

您可以在 php 文件中返回 json 数据,例如

$response = array ('br'=> $br, 'html'=> $html);
echo json_encode($response);

此处返回 html 和数据。这可以在您的 ajax 回调中使用它:

success: function(data)
{
    br = data.br;

    LastDiv.after(data.html);
}
于 2013-08-26T23:48:35.037 回答
0

我会考虑使用通过 AJAX 传递的 $br 变量的值设置一个 Session 变量。然后,当您从另一个文件或位置调用 getData.php 时,您可以使用 Session 变量,因为会话变量会在会话中的任何位置保留它们的值。

于 2013-08-26T23:43:08.720 回答
0

如果我正确理解您的问题,并且如果您想返回$br变量,则将其包含在successs回调函数的 JSON 对象中。所以,像这样(我对 PHP 不够熟悉,所以我的 PHP 语法可能不正确):

    // create JSON object
    <?php
        $result = array('br' => $br, 'html' => 'htmlContent);

    echo json_encode($result);
    ?>

    // return JSON object
    $.ajax(
    {
       type: "POST",
       url: "getData.php",
       data: ValueToPass,
       cache: false,
       success: function(result)
       {
          var $br = result.br;
          LastDiv.after(result.html);
       }
    });
于 2013-08-26T23:48:13.653 回答
0

你可以试试这个从你的 `getData.php' 获取数据:

$.ajax(
{
   type: "POST",
   url: "getData.php",
   data: { ValueToPass: ValueToPass},
   cache: false,
   success: function(data)
   {
      LastDiv.html(data);
   }
});

在你的getData.php你必须通过ValueToPass

也许是这样的:

$ValueToPass = mysqli_real_escape_string($db, $_POST['ValueToPass']);
于 2013-08-26T23:50:08.800 回答