通过jQuery AJAX请求更新图像

时间:2012-10-27 22:51:23

标签: ajax imagick

我有一个PHP脚本,使用imagick PHP扩展创建和映像。我在页面加载上显示图像,如下所示:

<img id="myImage" src="php/image-script.php" />

PHP脚本以回显脚本中构建的imagick图像对象结束:

echo 'myImage';

这一切都适用于页面加载。我现在添加了一个jQuery AJAX请求,当从输入框中跳出时会触发该请求。然后输入框的值通过如下的查询字符串传递给image-script.php:

    $('#inputHeight').on('blur', function(){

    var $height = $('#inputHeight').val(); 

        $.ajax({ url: './php/preview-image.php?h=' + $height,
             type: 'post',
             success: function(output) {
                $('#preview').attr('src', output);             
             }

        });

    });

我的问题在于AJAX请求的成功功能。目前我正在使用输出更新img src属性(如上所述)。这只是将图像的原始字符串值写入属性,而不是更新。我该如何正确更新图像?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,虽然我不确定它是完全正确的,因为我似乎两次调用了我的preview-image.php脚本?首先在URL中,然后在Success函数中。这是更新的代码:

$('#inputHeight').on('blur', function(){

    var $width = 550;
    var $height = $('#inputHeight').val(); 

        $.ajax({ url: './php/preview-image.php?w=' + $width + '&h=' + $height,
             type: 'post',
             success: function(output) {
                $('#preview').attr('src', 'php/preview-image.php?w=' + $width + '&h=' + $height + '&' + Math.random());             
             }
    });

});