如何获得request中所有的参数名和参数值

如何获得request中所有的参数名和参数值,第1张

三个方法

1、requestQueryString("参数")//获取指定参数,返回字符串;

2、requestQueryStrings();//获取全部参数,并返回数组;

3、requestsetQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。

例如:

当前地址栏参数字符串为:name=a&site=never_online

alert(requestsetQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:

当前地址栏参数字符串为:site=never_online

alert(requestsetQuery("name","blueDestiny"))

则返回site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数

alert(requestsetQuery("name","blueDestiny"))

返回name=blueDestiny

<SCRIPT LANGUAGE="JavaScript">

<!--

// author: never-online

// web: never-onlinenet

var request = {

QueryString : function(val) {

var uri = windowlocationsearch;

var re = new RegExp("" +val+ "\=([^\&\])", "ig");

return ((urimatch(re))(urimatch(re)[0]substr(vallength+1)):null);

},

QueryStrings : function() {

var uri = windowlocationsearch;

var re = /\w\=([^\&\])/ig;

var retval=[];

while ((arr = reexec(uri)) != null)

retvalpush(arr[0]);

return retval;

},

setQuery : function(val1, val2) {

var a = thisQueryStrings();

var retval = "";

var seted = false;

var re = new RegExp("^" +val1+ "\=([^\&\])$", "ig");

for(var i=0; i<alength; i++) {

if (retest(a[i])) {

seted = true;

a[i] = val1 +"="+ val2;

}

}

retval = ajoin("&");

return "" +retval+ (seted "" : (retval "&" : "") +val1+ "=" +val2);

}

}

alert(requestsetQuery("e","b"))

//-->

</SCRIPT>

在某些场景中,不光要对方法的返回值和调用进行验证,同时需要验证一系列交互后所传入方法的参数。那么我们可以用参数捕获器来捕获传入方法的参数进行验证,看它是否符合我们的要求。

通过ArgumentCaptor对象的forClass(Class<T> clazz)方法来构建ArgumentCaptor对象。然后便可在验证时对方法的参数进行捕获,最后验证捕获的参数值。如果方法有多个参数都要捕获验证,那就需要创建多个ArgumentCaptor对象处理。

argumentcapture() 捕获方法参数

argumentgetValue() 获取方法参数值,如果方法进行了多次调用,它将返回最后一个参数值

argumentgetAllValues() 方法进行多次调用后,返回多个参数值

首先构建ArgumentCaptor需要传入捕获参数的对象,例子中是String。接着要在verify方法的参数中调用argumentcapture()方法来捕获输入的参数,之后argument变量中就保存了参数值,可以用argumentgetValue()获取。当某个对象进行了多次调用后,如mock2对象,这时调用argumentgetValue()获取到的是最后一次调用的参数。如果要获取所有的参数值可以调用argumentgetAllValues(),它将返回参数值的List。

通过使用windowlocationsearch可以获取到当前URL的号开始的字符串,如前面的链接获取到的search为id=001,再对获取的字符串进行处理,就可以获取到参数的值了,参考代码如下:

<SPAN style="FONT-SIZE: 14px">function getUrlParam(name) {

var reg = new RegExp("(^|&)" + name + "=([^&])(&|$)");

var r = windowlocationsearchsubstr(1)match(reg);

if (r != null)

return unescape(r[2]);

return null;

}

</SPAN>

在调用上面的方法的时候,只要传入参数的名称,就可以获取到想要的参数的值了,如:getUrlParam("id")。

在页面A传值:

windowshowModalDialog("ModalDialogFrameaspxTitle=选择组织部门&PageUrl=ParentTreeViewaspx",window,"dialogWidth=380px;dialogHeight=650px;status=no;center=yes;");

在页面A传值:

windowshowModalDialog("ModalDialogFrameaspxTitle=选择组织部门&PageUrl=ParentTreeViewaspx",window,"dialogWidth=380px;dialogHeight=650px;status=no;center=yes;");view plaincopy to clipboardprint

在页面ModalDialogFrameaspx:

function GetQueryString(sProp)

{

var re = new RegExp("[&,]"+sProp + "=([^\\&])", "i");

var a = reexec(documentlocationsearch);

if (a == null)

return "";

return a[1];

}

在页面ModalDialogFrameaspx:

function GetQueryString(sProp)

{

var re = new RegExp("[&,]"+sProp + "=([^\\&])", "i");

var a = reexec(documentlocationsearch);

if (a == null)

return "";

return a[1];

}view plaincopy to clipboardprint

调用方法:

var url=GetQueryString("PageUrl"); //ParentTreeViewaspx

var title=GetQueryString("Title"); //选择组织部门

属性可以放置在几乎所有的声明中(但特定的属性可能限制在其上有效的声明类型)。在语法上,属性的指定方法为:将括在方括号中的属性名置于其适用的实体声明之前。“方法”是包含一系列语句的代码块。在C#中,每个执行指令都是在方法的上下文中执行的。本主题讨论命名方法。文档中的其他地方讨论了名为“匿名函数”的另一种方法。方法是通过指定访问级别、返回值、方法名称和任何方法参数在类或结构中声明的。这些部分统称为方法的“签名”。方法参数括在括号中,并用逗号隔开。空括号表示方法不需要参数。

以上就是关于如何获得request中所有的参数名和参数值全部的内容,包括:如何获得request中所有的参数名和参数值、利用ArgumentCaptor捕获方法参数进行验证、javascript中怎么获取请求的参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9507319.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存