【发布时间】:2014-05-03 09:21:43
【问题描述】:
我正在通过 load() 将一些外部数据加载到 div 中。 load() “工作”,因为我可以在 Chrome 中检查页面,并在网络日志下看到调用了加载的页面,并收到了适当的响应。如果我添加一个,加载函数本身会产生一个回调响应。但是,没有 html 被添加到我的元素中。我试过了:
- 加载不同的网址(编辑:这可行,所以它一定是我的文件?)
- 将加载的 html 插入到不同的元素中
- 准备好在文档内外移动函数
- 使用“get”代替加载
- 删除除 jquery 和我的自定义 js 文件之外的所有其他脚本
- 当我复制/粘贴加载函数时,通过控制台执行该函数有效,但仅在第二次尝试时 (??!?!)。
控制加载函数何时执行的函数
$(document).on("click",".keyword", function () {
var keywordRef = $(this).text();
showKeywordStats(keywordRef);
});
执行加载的函数
function showKeywordStats (keyword)
{
$("#keywordStats").load("getKeywordStats.php?keyword=" + keyword);
}
接收加载的url的div
<div id="keywordStats"></div>
正在加载的 url 的内容(用于测试目的):
<?php
echo "I should appear";
?>
当我在 showKeywordStats() 函数中添加一行时:
function showKeywordStats (keyword)
{
//added line below
$("#keywordStats").html('Did i disappear?');
$("#keywordStats").load("getKeywordStats.php?keyword=" + keyword);
}
“我消失了吗?”显示一秒钟,然后 div 被清空,没有加载的 url 的内容。
我完全被迷惑了。我在页面上还有另外两个加载功能可以正常工作,但是这个没有。有什么想法吗?
【问题讨论】:
-
虽然我同意这无关紧要,但您是否确保您正在加载的内容至少包含一些 html,例如在 div 中包装“我应该出现”然后尝试?您还可能需要将 .load 行包装在 setTimeout(function(){},0); 中吗? ?
-
刚刚尝试将 php 输出包装在标签中,没有结果。与设置的超时相同,并尝试了不同的长度(0、5000)。嗯。