Javascript 如何获取我的特定 URL 的 URL 值

Javascript how to get URL values for my particular URL

本文关键字:URL 我的 何获取 获取 Javascript      更新时间:2023-09-26

谁能帮我获取值。

我知道很少有人问它,但我无法为给定的值构建我的逻辑。

我有一个网址如下

http://crm//WebResources/abaxis_popup?Data=recordid%3dElectrolyte%26sometext%3daw_device%26somemoretext%3dpolyclinic

我有如下变量和数据


var addParams =encodeURIComponent( "recordid=" + entityLabel + "&sometext=" + entityName + "&somemoretext=" +entityId);
Xrm.Utility.openWebResource('abaxis_popup',addParams ,280,200);

recordId=Electrolyte
sometext =aw_device
somemoretext=polyclinic

注意:只是为了让您知道,您的 URL 格式也不正确。

您的网址http://crm//WebResources/abaxis_popup?Data=recordid%3dElectrolyte

这意味着http://crm//WebResources/abaxis_popup?Data=recordid=Electrolyte

= 的 记录 ID 正在破坏你的 GET 参数。

因此,Data参数被设置为在其他任何事情发生之前recordid。不知道你想在这里做什么。

为了从URL字符串中删除它,您可以使用以下内容:

urlString = urlString.replace(/Data=/g, '');

正如建议的那样,您正在发布一个重复的问题,HTML URL格式略有不同。

你有 HTML 字符而不是常规字符串。

所以把它们转换回来。我们的字符串网址

var urlString = "http://crm//WebResources/abaxis_popup?Data=recordid%3dElectrolyte%26sometext%3daw_device%26somemoretext%3dpolyclinic";

将 HTML 字符替换为常规文本字符。

urlString = urlString.replace(/%26/g, '?');
urlString = urlString.replace(/%3d/g, '=');

使用重复问答中的函数解析参数和值慷慨贡献者 : weltraumpirat

function transformToAssocArray( prmstr ) {
    var params = {};
    var prmarr = prmstr.split("&");
    for ( var i = 0; i < prmarr.length; i++) {
        var tmparr = prmarr[i].split("=");
        params[tmparr[0]] = tmparr[1];
    }
    return params;
}

使用它。

var result = transformToAssocArray(urlString);

程序的一个工作示例:JSFiddle

相关文章: