【问题标题】:JQuery .append() append PHP codeJQuery .append() 追加 PHP 代码
【发布时间】:2013-03-02 04:30:14
【问题描述】:

我正在尝试使用

将 php 附加到 div
<script>
var values = {var1: 2, var2:"Hello"};
    $('#id').append($.get("phpfile.php", values));
</script>

但是它似乎没有在 php 文件中附加基本的回显

<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
echo "var1= " . $var1 . " " . "var2= " . $var2; 
?>

任何帮助将不胜感激。

【问题讨论】:

  • 你检查过$.get()函数返回什么吗?
  • $.get() 不是这样工作的,Ajax 是异步的

标签: php jquery append


【解决方案1】:

Ajax 调用是异步的。这意味着$.get() 函数的返回值将不是是请求的结果,因为请求尚未执行。您需要使用$.get() 调用的成功处理程序,该处理程序将在请求成功返回时调用,或者使用由$.get 函数返回的jQuery 延迟对象(一个承诺)。

正确的语法#1:

<script>
    var values = {var1: 2, var2:"Hello"};
    $.get("phpfile.php", values, function(data) {
        $('#id').append(data);
    });
</script>

这是使用promises 的另一种语法:

<script>
    var values = {var1: 2, var2:"Hello"};
    $.get("phpfile.php", values).done(function(data) {
        $('#id').append(data);
    });
</script>

【讨论】:

  • 我添加了一些背景信息,如果您不同意,请随时回滚
【解决方案2】:

使用这个,jQuery

<script>
    $.get("phpfile.php", { 'var1': 1, 'var2' : 2},
        function(data){ $('#id').append(data); }, "json");
    });
</script>

php

<?php    
    $var1 = $_GET['var1'];
    $var2 = $_GET['var2'];
    $data = "var1= " . $var1 . " " . "var2= " . $var2;

    echo json_encode($data);
    exit;
?>

【讨论】:

  • 这太复杂了,当普通输出可以正常工作时,不需要对输出进行 JSON 编码。
猜你喜欢
  • 2015-08-03
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 2010-11-28
  • 2013-05-22
  • 2016-03-29
  • 2013-05-21
  • 1970-01-01
相关资源
最近更新 更多