我有一个JSON文件,其中的对象包含图像的文件路径。我尝试使用jQuery替换图像标记的src attr,但无论我做什么,当我尝试更改源时,文件路径都有引号,最终会在路径周围留下编码,因此失败了。
我试过了:
两者都没有奏效,但我非常愿意接受因错误而无法正常工作。
这是我现在拥有的代码:
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 quotes)文件路径。奇怪的是,控制台.log用于'图像'打印出相同的文件路径,但现在使用邪恶的双引号,这是失败的最终产品。看到的正则表达似乎没有效果。
以下是我正在使用的JSON:
{
"stat": "ok",
"images": {
"image": [
{
"image_one": "images/image_1.jpg"
}
]
}
}
感谢您的帮助。
答案 0 :(得分:4)
在没有JSON.stringify的情况下尝试一次,我认为不需要。