-1

我有一个 JSON 文件,其中的对象包含图像的文件路径。我正在尝试使用 jQuery 替换图像标签的 src attr 但无论我做什么,当我尝试更改源时,文件路径周围都有引号,最终在路径周围留下编码,因此失败.

我试过了:

  • decodeURI组件
  • 正则表达式

两者都没有工作,但我非常愿意接受由于我的错误他们没有工作。

这是我现在拥有的代码:

getPics : function(){
    $.ajax({
        type : 'GET',
        url : this.BASE_URL +'js/image1.js',
        dataType : "json",
        success: function(data){
            var pic = data.images.image[0].image_one;
            console.log(pic);
            setTimeout(function(){
                var image = JSON.stringify(pic);
                image = image.replace(/\"([^(\")"]+)\":/g,"$1:");
                console.log(image); 
                $('#pic1 img').attr("src", image);
            }, 5000);
        }
    });
}

问题部分是这里的这部分:

           setTimeout(function(){
                var image = JSON.stringify(pic);
                image = image.replace(/\"([^(\")"]+)\":/g,"$1:");
                console.log(image); 
                $('#pic1 img').attr("src", image);
            }, 5000);

注意两个console.logs:'pic'的第一个打印一个干净的(iew/out引号)文件路径。奇怪的是,'image' 的 console.log 打印出相同的文件路径,但现在带有邪恶的双引号,这是失败的最终产品。看到的正则表达式似乎没有效果。

这是我正在使用的返回的 JSON:

{
"stat": "ok",
"images": {
    "image": [
        {
            "image_one": "images/image_1.jpg"
        }
    ]
}

}

谢谢您的帮助。

4

1 回答 1

4

在没有 JSON.stringify 的情况下尝试一次,我认为它不是必需的。

于 2013-03-21T10:42:47.747 回答