在jquery ajax中遇到问题

时间:2013-07-01 12:43:03

标签: php jquery html ajax

我正在使用GD库来绘制图像,之后我将使用jquery ajax获取该图像。但是当我更新图像时,jquery ajax没有获得更新的图像,而当我检查图像更新的目录时有一个问题。所以请在这种情况下帮助我如何在jquery ajax响应中获得更新的图像。

我从jcery获取响应的jquery代码如下:

jQuery.ajax({
    type: "POST", 
    url: "create.php",
    dataType:"text",
    data:myData,
    success:function(response){
        //location.reload();
        var result = response.split("|");

        document.getElementById('img').innerHTML = result[0]; // This is the image

        document.getElementById('download').innerHTML = result[1]; // this is a href link for some other purpose
    },
    error:function (xhr, ajaxOptions, thrownError){
        alert(thrownError);
    }
});

在这种情况下请帮助我。感谢

3 个答案:

答案 0 :(得分:2)

不确定缓存,请尝试使用create.php?123451234(randomNumber)

您还可以将result的输出添加到您的答案中吗?

我认为主要的错误是你设置的innerHTML取代了你需要的东西。

为什么不使用像

jQuery.('#img').attr('src', result[0]);

<强>更新

查看您的代码,替换为:

<div id="img"><img src="images/quotepreivewimg.gif" alt="" /></div>

由此:

<div><img id="img" src="images/quotepreivewimg.gif" alt="" /></div>

然后使用上面的jQuery.attr函数加载图片

答案 1 :(得分:1)

这不起作用:

document.getElementById('img').innerHTML

图片没有任何内部html代码,你必须使用src属性:

document.getElementById('img').src = result[0];

答案 2 :(得分:0)

更改

document.getElementById('img').innerHTML = result[0];

为:

document.getElementById('img').src = result[0];

更新版本:

jQuery.ajax({
    type: "POST", 
    url: "create.php",
    dataType:"text",
    data:myData,
    success:function(response){
        //location.reload();
        var result = response.split("|");

        document.getElementById('img').src = result[0]; // we need the src property here

        document.getElementById('download').innerHTML = result[1]; // this is a href link for some other purpose
    },
    error:function (xhr, ajaxOptions, thrownError){
        alert(thrownError);
    }
});

希望这有帮助。