我有一个 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"
}
]
}
}
谢谢您的帮助。