如何在我的 AJAX 调用中恢复和传递多个 php 变量

how to recover and pass multiple php variables in my AJAX call

提问人:Kiji_T 提问时间:5/10/2021 更新时间:5/10/2021 访问量:48

问:

我需要在我的 Ajax 调用中传递定义的 PHP 变量在我的页面前面)。

而且我定义了很多变量,所以我不能在我的代码中逐个变量地做。

我的第一个问题是,PHP中有没有办法循环每个定义的变量?喜欢得到我的$var1, $var2

我想我可以在标签之间的PHP页面中更早地做到这一点,但这真的不干净。<script>

我的 AJAX 调用是这样的:

function add_content_in_divs(class_name, target_div) {

   var page_name = 'displayer/' + class_name + '_informations.php'

   $.ajax({
      url:page_name,
      type: 'GET',
      data: {//need to pass my PHP vars here},

         success: function (resp){
            target_div.html(resp);
         }

   })
}

我的最终目标是在我的 div 中包含一部分 PHP 代码,因为我知道这包含我的 PHP 主页中定义的$vars。所以我包含的代码部分无法识别我的 PHP 变量。

我必须包含一个代码部分的示例。

if (isset($detail)) {

    echo '<div class="row"><span class="font-weight-bold">City detail: </span>' . $detail . '</div>';

} 
JavaScript PHP jQuery ajax 参数传递

评论

1赞 ADyson 5/10/2021
或者只是将它们列在 .这取决于您到底需要发送什么以及以什么结构发送,但可能只是类似的东西datadata: { "var1": "<?php echo $var1; ?>", "var2": "<?php echo $var2; ?>" }
1赞 Nikos Gkogkopoulos 5/10/2021
首先,避免使用 GET 方法,而是使用 POST。 其次,您可以通过将所有变量放在一个表单中,并在 AJAX 中的“data”字段中序列化表单来轻松做到这一点
1赞 ADyson 5/10/2021
是的,我愿意。但是由于PHP变量不会在请求之间保留,因此您必须将变量从main.php传递到页面,以便Javascript可以在浏览器中运行时读取它,然后Javascript必须将其传递给informations.php,以便在该请求运行时可以在那里使用它。
1赞 ADyson 5/10/2021
如果你想让 Javascript 从隐藏字段中获取详细信息值,你可以写成 .然后,这会将“defined_vars”字段的内容发送到信息.php$.ajax({data: {"$detailled_weather" : $("#defined_vars").val() }
1赞 Kiji_T 5/10/2021
好吧,我终于明白了!这几乎是好的,但在代码的包含部分,显示为注释。我的数据和我的信息中有 .php。<?php echo $detail ?>"detailled_weather" : '<?php echo $detailled_weather;?>',<div> . $_GET['detailled_weather'] . '</div>

答: 暂无答案