【问题标题】:Jquery Load Gets Data, Not Inserting into ElementJquery Load 获取数据,而不是插入到元素中
【发布时间】: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)。嗯。

标签: php jquery


【解决方案1】:

好吧,我想通了。它与我在 load() url 中传递的 url 参数有关。该参数以某种方式与尾随空格一起传递,这并没有打扰 load() 函数的实际 GET 部分,但 jQuery 不会显示加载的 html,直到我从 url 中删除空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 2020-11-07
    相关资源
    最近更新 更多