Javascript如何获取特定URL的URL值

时间:2016-01-28 12:26:04

标签: javascript

任何人都可以帮助我获得价值。

我知道关于它的问题很少,但我无法根据给定的值构建我的逻辑。

我的网址如下

  

http://crm/ / WebResources / abaxis_popup?数据=%的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

1 个答案:

答案 0 :(得分:0)

注意:只是为了通知您,您的网址格式也不正确。

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

转换为http://crm//WebResources/abaxis_popup?Data=recordid=Electrolyte

在recordid之后的双=打破了您的GET参数。

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

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

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

根据建议您发布的重复问题与HTML网址格式略有不同。

您有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