【问题标题】:Getting PHP variables intact with jQuery/json使用 jQuery/json 完整获取 PHP 变量
【发布时间】:2026-01-12 22:40:01
【问题描述】:

所以,快速分解一下。

我的页面上有一个函数加载三个部分,目前它分别加载它们(这有点慢)。所以我最近把它们都结合了起来。 我现在将所有信息都存储在 PHP 变量中。我想获取这些 PHP 变量并将它们加载到单独的 div 中。

这是我想做的一个例子。

HTML

<div class="one"></div>
<div class="two"></div>
<div class="three"></div>

PHP

$var1 = "<div><p>data 1</p></div>";
$var2 = "<div><p>data 2</p></div>";
$var3 = "<div><p>data 3</p></div>";

jQuery

//`get var1,var2,var3`
// load var1 into div.one
// load var2 into div.two
// load var3 into div.three

我目前遇到的问题是 json_encode 正在将一些信息更改为这个 "\n\t\t\t\t\t\t" 并且它正在打印

"<div><p>data 1</p></div>"

而不是 div 内的 p 中的“数据 1”。

【问题讨论】:

  • 欢迎来到 SO。在您的script 中,您可以这样做:var phpDiv = "&lt;?php echo $var1; ?&gt;";
  • 由 json_encode 添加的空白字符与它在 html 中的呈现方式无关。看来您使用的是jQuery.text() 而不是jQuery.html()

标签: php jquery json


【解决方案1】:

试试:

<div class="one"></div>
<div class="two"></div>
<div class="three"></div>

<script>
var var1 = "<?php echo json_encode($var1); ?>"; 
var var2 = "<?php echo json_encode($var2); ?>"; 
var var3 = "<?php echo json_encode($var3); ?>"; 

$(".one").html(var1);
$(".two").html(var2);
$(".three").html(var3);
</script>

你可以通过这种方式将 PHP 传递给 JS,但反过来不行。

【讨论】:

    【解决方案2】:
    var var1 = "<?php echo json_encode($var1); ?>"; 
    var var2 = "<?php echo json_encode($var2); ?>"; 
    var var3 = "<?php echo json_encode($var3); ?>"; 
    

    【讨论】: