javascript - 将正则表达式应用于 javascript 中的 uri 变量

标签 javascript ajax regex json

我有以下 ajax 函数,它从 JSON 响应返回三个图像(PORTRAIT、SQUARE 和 LANDSCAPE):

$.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

肖像图像返回为: http://xx.domain.com/api/v2/img/5550fdfe60b27c50d1def72d&43

我正在使用正则表达式来 chop 肖像末尾的 LAST d 之后的所有内容,因为它没有使用缓存(与其他人一样)。但是,这无法正常工作,并且图像未显示。

最佳答案

您是否尝试过split?如果我正确地阅读了您的问题,您应该能够替换它:

var regex = /[^d\/]*$/;
var imageURI = regex.exec(obj.entity.entries[property].uri);

。 。 。有了这个 。 。 .

var imageURI = obj.entity.entries[property].uri.split("&")[0];

这会将 uri 值拆分为包含“http://xx.domain.com/api/v2/img/5550fdfe60b27c50d1def72d ”和“43”的数组,然后您只需使用 0 索引引用第一部分(我相信这就是您正在寻找的)。

关于javascript - 将正则表达式应用于 javascript 中的 uri 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30223433/

相关文章:

javascript - 使用正则表达式匹配和分组字符串的相同部分两次?

javascript - 使用 @ts-check 在 JS 文件中输入断言元素

php - jquery AJAX实时获取新的mysql记录

ajax - p :ajax immediate ="true" on UIInput does not skip validation

javascript - Ajax 成功中 Laravel Route 的多个参数

php - 将多个正则表达式合并为一个

javascript - GOOGLE MAPS AUTOCOMPLETE 州名称而不是州代码

javascript - 使用 Phonegap CLI - 条码扫描仪无法工作

c# - MVC 3 在 JavaScript 中从 View 调用 Action 方法

regex - Fiddler 自动回复 + 正则表达式