【发布时间】:2015-07-25 05:58:36
【问题描述】:
我有以下 ajax 函数,它从 JSON 响应中返回三个图像(肖像、正方形和风景):
$.ajax({
url: url,
method: 'GET',
headers: {
"Authorization": bearerToken
},
}).then(function (response) {
var obj = response;
$("#imageid").css("border-color", "#ccc");
$(".search-results").empty();
for (var property in obj.entity.entries) {
if (obj.entity.entries.hasOwnProperty(property)) {
var imageURI = obj.entity.entries[property].uri + "&" + imageCacheBust;
$(".search-results").append($("<li><a href='" + imageURI + "' target='_blank'><div class='thumbnail'><img width='30' height='30' src='" + imageURI + "' target='_blank'/></img><div class='caption'><p>" + obj.entity.entries[property].orientation + "</p></div></a></li>"));
}
}
}).fail(function (data) {
$(".search-results").empty();
$(".search-results").append("<p class='alert alert-danger'>Invalid ID</p>");
$("#imageid").css("border-color", "red");
});
LANDSCAPE 和 SQUARE 图像以 URI 格式返回,格式如下:
http://xx.domain.com/api/v2/img/55527b6060b27c50d1def7b6?location=LANDSCAPE&1
http://xx.domain.com/api/v2/img/55527b6060b27c50d1def7b6?location=SQUARE&1
PORTRAIT 图像返回为:
http://xx.domain.com/api/v2/img/5550fdfe60b27c50d1def72d&43
我正在使用正则表达式来删除肖像末尾 LAST d 之后的所有内容,因为它没有使用缓存(就像其他人一样)。但是,这无法正常工作,并且图像没有显示出来。
【问题讨论】:
-
纵向模式下
d之后什么都没有 -
放错网址并编辑。
-
似乎该代码仅适用于非肖像图像,而对肖像图像则无任何作用。这是故意的吗?
-
你想删除之后
\d。那里有3个d -
当我认为您真正想要的是提取 ? 或 & 之前的最后一个路径部分时,您不能说“在 'd' 之后切入”。
标签: javascript ajax regex json