【问题标题】:Ajax call returning whole pageAjax 调用返回整个页面
【发布时间】:2012-11-16 17:06:23
【问题描述】:

我有一些随机提示的以下页面:http://www.javaexperience.com/tips

我只想在网站的其他页面上显示提示,因此我正在进行 ajax 调用并将 ajax 响应返回的任何内容添加到 Div 的 HTML。

DIV html 是:

<div id="tips"><div>

ajax 调用是:

jQuery("#tips").load("/tips/");

问题是 ajax 调用导致整个页面内容被添加到 div(由于页面被附加到 div,上面的 jQuery 代码被无限调用),而我只想添加提示部分。有什么简单的出路吗?

【问题讨论】:

  • 发出一个 AJAX 请求来带来一个空页然后解析它有点违背 AJAX 的全部目的。我会制作一个只有提示的页面,或者甚至只是一个带有每个提示的 JSON。然后你可以用 Jquery 或类似的附加那些。

标签: javascript jquery ajax wordpress


【解决方案1】:

这是 load 方法的预期行为,它总是会下载整个内容。您可以指定将加载页面的某个部分解析并放入调用容器中。

jQuery('#tips').load('url #tip1');

【讨论】:

  • 谢谢杰。还有一种方法可以停止使用 .load 发送的 ajax 请求的 IE 缓存。我可以看到 ajaxsetup 停止缓存,但是否可以仅用于单个 ajax 查询。
  • 没关系用以下代码修复它:jQuery("#tips").load("/tips/?cachebuster=" + Math.floor(Math.random()*10001) +" #randomtips");
  • @Jay Blanchard 嘿,太棒了,我对 AJAX 很陌生,我总是使用 AJAX 调用转到没有内容的单独服务器端页面,保存我将动态绘制的页面并随后想要退回。我不知道您可以像这样通过元素的 id 进行解析。谢谢你教我一些东西!
【解决方案2】:

你需要:

$('#tips').load('ajax/test.html #container');

更多关于负载的信息here

【讨论】:

    猜你喜欢
    • 2015-07-15
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2013-07-19
    • 2011-03-06
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多