1

背景:我正在为 WordPress 3.4.2 编辑一个自定义管理页面,这是我正在制作的插件的一部分。

我的 HTML 中有一小段 PHP 代码,用于检查变量是否存在,如果它有值则打印它:

<div id='ajax-response'>
    <?php
    if(isset($_infos) && !empty($_infos)){
        echo $_infos;
    }
    ?>
</div>

但是,当页面以意味着变量具有值的方式运行时,输出实际上不在该 #ajax-response 内部,<div>而是直接在其上方,如下所示:

<div id="message" class="updated fade"><p>Download display details updated.</p></div>
<div id='ajax-response'></div>

#ajax-response 的全部意义<div>在于包含来自页面本身和任何 AJAX 调用的所有反馈,因此它们都以相同的样式显示在一起 - 并且都可以轻松地从页面中删除 - 所以这个很烦人。

最奇怪的是,当我查看源代码时,<div>它应该在 #ajax-response 中,但在 Chrome 的检查器中,当被 Javascript 引用时,它被视为在 .ajax 响应之外<div>

任何想法为什么会发生这种情况?

4

2 回答 2

0

我不确定,但请检查 php 文件,该文件为您的 javascript 文件提供输出。或者在替换ajax-responce div的内容之前尝试js文件中的alert(来自php文件的响应)。

于 2012-10-18T12:35:48.340 回答
0

我知道这个话题已经死了,但是我写的几段代码遇到了完全相同的问题。是 ECHO 导致了问题。当我将我的函数交换为 RETURN 而不是 ECHO 时,它立即修复了它。

于 2014-02-05T18:14:14.073 回答