【问题标题】:Refresh part of webpage using document.URL in AJAX在 AJAX 中使用 document.URL 刷新网页的一部分
【发布时间】:2019-01-17 21:02:45
【问题描述】:

您在其中的 document.URL 部分具体插入了什么?

 $('#thisdiv').load(document.URL +  ' #thisdiv');

以下这些似乎都不起作用:

  $('#example').load(document.URL +  ' #example');
  $('#example').load(index.php +  ' #example');
  $('#example').load(https://databasetable-net.000webhostapp.com/ +  ' #example');
   $('#example').load('https://databasetable-net.000webhostapp.com/' +  ' #example');

这是使用数据表刷新表的简单方法,但它也不起作用。

 table.ajax.reload();  

【问题讨论】:

  • 您要加载的网址是什么?第四个示例看起来不错,除了两个字符串文字的不必要连接。当您尝试时,它是如何失败的?
  • databasetable-net.000webhostapp.com 我正在尝试加载的链接...是的,我将更改我的项目代码以查看是否出现任何错误?倒数第二行没有字符串文字。
  • 我想我发现了另一个问题...这部分 https:// 正在注释掉链接的其余部分...!为什么之后颜色看起来是绿色的。
  • 嗯,是的,语法错误肯定会产生语法错误。对字符串文字使用引号,就像您在字符串文字中所做的一样。
  • datatables-ajax.000webhostapp.com 链接应该可以工作,如果我只是删除 http// 部分

标签: jquery ajax datatables


【解决方案1】:

问题在于.load() 将返回文档的选定部分加载到您正在运行它的元素内部,它不会替换该元素。所以你写的代码会尝试创建:

<div id="example">
    <div id="example">
    ...
    </div>
</div>

您需要在元素周围放置一个容器。所以原始的 HTML 应该是这样的:

<div id="example-container">
    <div id="example">
    ...
    </div>
</div>

然后你可以这样做:

$("#example-container").load(location.URL + " #example")

【讨论】:

  • 想知道 OP 是否应该在加载新内容之前清空容器的内容。 $("#example-container").html("").load(location.URL + " #example")
  • 不,没必要,.load() 会自己做。即使.load() 失败,您的版本也会清空容器。
  • 无法将#example 放入 div 中出现数据表错误。我这样做了:`
  • 当我尝试将 #example 放入 div 时出现错误消息“DataTables 警告:非表节点初始化 (DIV)。有关此错误的更多信息,请参阅 datatables.net/tn/2
  • DIV 只是一个假设,它可以是任何元素类型。重要的是您将它包装在其他东西中,并在 .load() 调用中使用该容器。
猜你喜欢
  • 2010-09-30
  • 2013-12-19
  • 2019-12-23
  • 1970-01-01
  • 1970-01-01
  • 2012-03-28
  • 2012-02-25
  • 1970-01-01
  • 2018-07-17
相关资源
最近更新 更多