【问题标题】:how do I target a specific id with ajax?如何使用 ajax 定位特定 id?
【发布时间】:2014-02-22 20:11:55
【问题描述】:

我是第一次尝试 ajax(在一定程度上还有很多 js),所以我不确定我做错了什么。

目标是侧边栏中的一系列缩略图在选中时会更改位于中心的 div 的内容。该链接目前如下所示:

<img src="images/thumbs/elon-scissors-logo.jpg" onclick="reloadMiddleWith('about','about','test')"/>

当点击它运行下面的函数并改变背景并调用一个 php 源。

function reloadMiddleWith(theme, page, content) {
  var new_url = "http://www.chrisjohndesigns.com/" + page + ".php/#" + content;
  $('#live-area').addClass(theme);
  $.ajax({
      url: new_url,
      dataType: 'html'
 })
  .done(function(data) {
      // Assuming the request returns HTML, replace content
      $('#area-loader').html(data);
 });

}

我测试了它,当它只是背景和新的 php 页面时它工作得很好,而不是制作 50 个页面来调用(由于缺乏正确的理解,目前甚至没有尝试数组或数据库)我想我只会制作 1 或 2 个重复相同容器样式的新页面,然后调用我想通过 id 标签显示的页面。目前,当我尝试它时,它只是改变了背景,但没有改变 php 内容。

【问题讨论】:

  • 请求成功了吗?数据是什么样的?

标签: javascript php jquery css ajax


【解决方案1】:

jQuery 本身有一个方便的函数jQuery(...).load,使用它 jQuery 将处理所有必要的点:

function reloadMiddleWith(theme, page, content) {
    var new_url = "http://www.chrisjohndesigns.com/" + page + ".php/#" + content;
    $('#live-area').addClass(theme);
    jQuery("#area-loader").load(new_url);
}

更多信息请查看documentation page

【讨论】:

  • @thescientist:感谢您的反馈,我将其添加到答案中。
猜你喜欢
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
相关资源
最近更新 更多