【问题标题】:Ajax Post refresh a divAjax Post 刷新一个 div
【发布时间】:2012-12-28 23:40:25
【问题描述】:

我正在使用 AJAX 并发送帖子。 在响应 200 Ok 我可以看到我能够看到我想要的 div。但是该数据已被替换但正在附加。 你能指导我如何调试这些类型的问题并修复它们。

request.done(function(response) {
alert('Loaded.');
$('#data1').html(response);
});

我可以看到“已加载”警报即将到来。这样就完成了。 在萤火虫上,我可以看到 200 OK 的数据。

1) #data1 是一个 Javascript 模板。 因此,我正在尝试更新该模板,该模板将触发表中的数据并全部进行修改。

数据是:

<divid='data1'>
<script> ...................</script>
</div>

所以我看到数据正在更新。但旧数据没有被删除。 我试过:替换 同样,它只是附加页面而不是替换它

=

这个 Div 是一个 Javascript 模板。 所以这个 div 为:

<div id='data1'><script> .....</script></div>
  1. 在我的浏览器上,数据总是在更新而不是被替换。
  2. 一个更基本的问题,如果我得到响应,它就是附加数据。当我看到视图源时,甚至显示显示示例 20 个条目。它仅显示 10 个初始条目,当收到响应时使用 Ajax,源不会被修改吗?

【问题讨论】:

  • 你的意思是用.html(response)代替.html(data)吗?
  • “数据”变量只是“未定义”,使用“响应”
  • 感谢@Explosion,sdespont 这是一个错字。这样做之后,我在浏览器上看到我可以看到旧条目并且正在添加新条目。 1)页面来源没有改变。当我说 div 不应该替换完整的 div 时?

标签: jquery ajax


【解决方案1】:
<div=data1>
<script> ...................</script>
</div>

不是有效的 HTML。应该是:

<div id='data1'>
<script> ...................</script>
</div>

您缺少属性的 id= 部分。

【讨论】:

  • 谢谢巴马尔。这是我发布的问题中的错字。我确实有提到的属性。问题是:在浏览器上,旧表条目没有被删除,它们位于 div 中,但新条目被附加。这就是问题所在。我重新表述这个问题。我的错误
  • AJAX 响应中的 div 真的和你填写的 div 有相同的 ID 吗?这会创建一个重复的 ID,这可能会导致问题。你最终得到&lt;div id="data1"&gt;&lt;div id="data1"&gt;...&lt;/div&gt;&lt;/div&gt;
  • 感谢@Barmar 的回复。是的,AJAX 响应具有与填充相同的 div ID。我不认为这是重复的。
  • 我在问题中添加了更多信息。如果我不清楚,请告诉我
  • $("#data1").html(data) 替换了 DIV 中的 HTML,但不会替换 DIV 本身。因此,如果 data 包含相同的 ID,您将得到重复。
【解决方案2】:

应该是

request.done(function(response) {
 alert('Loaded.');
 $('#data1').html(response);
 });

并且标记也​​是一个错字,以便与良好的标记更加内联

<div="data1">
  <script> ...................</script>
</div>
 <!-- use / instead of \ to close tags-->

干杯

【讨论】:

  • 即便如此,它仍在追加而不是刷新 oage 的内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多