【问题标题】:Image changes, src attribute stays the same图像改变,src 属性保持不变
【发布时间】:2012-10-18 10:45:54
【问题描述】:

我遇到了一个问题,即图像元素的 src 属性在 ajax 请求后保持不变。该元素是另一个元素的“内部”元素,它被 .html(data) 函数@回调函数“替换”。奇怪的是,即使如我所说的 src 属性显示了源代码中最后一个图像的路径,新图像也会按原样显示。

这里是 JS:

    $('.toplistimages').each(function(){
    var filepath = $(this).attr('src');
    var next = "next"
    $(this).click(function(e){
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: '?category=goto',
            data: {
                "filepath" : filepath,
                "next" : next
            },
            success: function(data){
                $('#rightvotecolumn').html(data);
            }
        });
        return false;
    });
});

内容替换成功,但src属性不变。

编辑:我还可以补充一点,当我尝试保存在 ajax 请求之后显示的图像时,会显示正确的文件名。我在 Firefox 和 chrome 上试试这个

【问题讨论】:

  • but src attribute stays the same. 说谁?通话后如何获得这些信息? #rightvotecolumn是什么元素?
  • 你的意思不是src属性而是文件路径变量值?
  • gotqn 还有其他内容与图像一起更改。也许我应该澄清一下,这种情况下的数据是 PHP 文件中的新“内容”。我所做的是将 php 文件包含新的所需内容并将整个文件发送到 ajax 请求。

标签: jquery firefox google-chrome


【解决方案1】:

我建议您在 Chrome 或 Firefox 中使用 F12 在控制台中检查源代码,而不是通过“查看源代码”选项检查源代码。

因为后面添加的动态数据在Page Source中是看不到的。

【讨论】:

  • 问题:我怎样才能访问这些动态添加的新数据,例如新的 ajax 请求。因为当我这样做时,我在转储 POST 数据时得到一个空值: 注意:未定义的索引:第 318 行的 E:\xampp\htdocs\lowkey\browse\index.php 中的文件名
  • 如果您收到通知,那么我认为您应该首先在 index.php 文件中更正您的 PHP 代码。
  • 你说的太对了。问题是这样的。谢谢!!!!但是即使页面已更新,整个源代码仍然是前一个源代码,所以我害怕我必须单独更改所有元素才能从服务器端访问新数据。太可怕了。
【解决方案2】:

这种行为的原因是您只获得一次实际的src 值,并在每个click 事件处理程序中使用该值。要解决此问题,请在每个点击事件上设置文件名变量值:

$('.toplistimages').each(function(){
var next = "next"
$(this).click(function(e){
    e.preventDefault();
    var filepath = $(this).attr('src');
    $.ajax({
        type: 'POST',
        url: '?category=goto',
        data: {
            "filepath" : filepath,
            "next" : next
        },
        success: function(data){
            $('#rightvotecolumn').html(data);
        }
    });
    return false;
});

});

【讨论】:

  • 好吧,我很困惑。我用来更改部分页面内容的方法是从服务器端获取内容并将这些新数据放入包括 HTML 和 JS 的新 php 文件中,并将整个 PHP 文件发送回回调函数并替换要使用这个新的 php 文件更新的页面部分。内容得到更新,但所有值都与 ajax 请求发生之前相同。如何获取新内容的值?
猜你喜欢
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多