背景:我正在为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调用,所以它们都一起显示并具有相同的样式 - 并且都可以很容易从页面中删除 - 所以这很烦人。
最奇怪的是,当我查看源代码时,它就像#ajax-response <div>
一样,但是在Chrome的检查器中,当被Javascript引用时,它被视为在{{{ 1}}。
为什么会发生这种情况?
答案 0 :(得分:0)
我不确定,但请检查php文件,它会将输出提供给您的javascript文件。或者在替换ajax-responce div的内容之前尝试在js文件中发出警报(来自php文件的响应)。
答案 1 :(得分:0)
我知道这个主题已经死了,但我遇到的问题与我编写的几段代码完全相同。 ECHO导致了这个问题。当我将我的函数交换到RETURN而不是ECHO时,它立即修复了它。