【问题标题】:How to get my jQuery AJAX php code to update a div?如何让我的 jQuery AJAX php 代码更新 div?
【发布时间】:2011-12-07 05:27:55
【问题描述】:

我有一个对 PHP 的 jQuery 调用,它运行良好。我想做的是使用 echo 语句直接从 php 输出特定 div 的新内容。这可能吗?

以前我使用 JSON 编码返回 div 的新内容,如下所示:

$rows = array();
while($r = mysql_fetch_assoc($result))
{
        $rows[] = $r;
}

echo json_encode($rows);

但现在我想调用一个 PHP 函数,该函数用于在其他地方创建 div 内容,并且我希望它是创建这些 div 内容的唯一地方。

有没有可能做我正在尝试的事情?

谢谢!

【问题讨论】:

  • “PHP 函数在其他地方用于创建 div 元素”是什么意思?

标签: php javascript jquery dom


【解决方案1】:

是的,这是可能的。请记住,jQuery success 函数的参数包含后端脚本的所有输出。只需将你想要的容器的html替换成参数的内容即可。

PHP (someUrl.php):

echo('<div>Hello World!</div>');

JavaScript

var YourDataString = '';
$.ajax({
    type: 'GET',
    url: 'someUrl.php',
    data: YourDataString,
    success: function(html) {
        $('#someContainer').html(html);
    }
});

这会将 '

Hello World
' 放入 id 为 someContainer 的元素内

编辑

当我遇到关于 AJAX 请求的问题(比如没有出现的东西)时,如果我访问我直接调用的页面以查看正在生成的输出,这对我很有帮助。如果我没有打开错误报告并且我只看到一个白屏,那么我知道我的 PHP 中有一个错误并且没有任何输出。

您可以尝试在脚本中打开错误报告,看看是否有错误。如果找不到,请将整个脚本注释掉,并在其中添加一个 echo('I am here!');,然后查看 that 是否会进入您的页面。如果是这样,那么您知道您的 PHP somewhere 中存在错误。

您还可以查看浏览器的错误控制台,看看您的 JavaScript 是否抛出任何错误。如果您还不能完全理解它,请先尝试一个更简单的示例。上面的代码应该可以工作。

【讨论】:

  • 我认为它不太奏效。在 php 中,我会在该 html 变量中的 JavaScript 中回显我希望看到的所有内容,但我认为没有显示任何内容。
  • 这里发送 get 和 post 请求的区别重要吗?
  • 如果您的 PHP 中有错误,则不会返回任何内容。如果您使用 Firebug,您可以检查请求以查看它是否收到 500 服务器错误(或者您可以尝试直接导航到您的 PHP 文件)
  • 在这种情况下 GET 和 POST 之间的区别是(有点)语义。由于您从服务器获取数据并且您没有更改任何内容,因此 GET 是合适的(除非您正在更改某些内容并且您没有说任何内容)
  • 我明白了......所以在 PHP 中使用 echo 似乎不会对我想要更改的 html 进行任何更改。您知道如何进行调试吗?我确实知道我能够查询我想要的项目,并遍历它们并回显它们....但在那之后,我不知道如何使回显数据出现。
【解决方案2】:

您可以使用 jquery.ajax 来更新 php 文件中的内容:

http://api.jquery.com/jQuery.ajax/

【讨论】:

    【解决方案3】:
    $rows = array();
    while($r = mysql_fetch_assoc($result))
    {
            $rows[] = $r;
    }
    
    echo json_encode($rows);
    die();enter code here
    
    you need to die() or exit 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2013-06-20
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多