javascript中怎么获取请求的参数

javascript中怎么获取请求的参数,第1张

通过使用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")。

package commikan;

import javalangannotation;

/

 @author Mikan

 @date 2015-08-04 23:39

/

@Target(ElementTypePARAMETER)

@Retention(RetentionPolicyRUNTIME)

@Documented

public @interface Param {

String value();

}

获取注解中的参数名的工具类:

package commikan;

import javalangannotationAnnotation;

import javalangreflectMethod;

/

 @author Mikan

 @date 2015-08-05 00:26

/

public class ParameterNameUtils {

/

 获取指定方法的参数名

 @param method 要获取参数名的方法

 @return 按参数顺序排列的参数名列表

/

public static String[] getMethodParameterNamesByAnnotation(Method method) {

Annotation[][] parameterAnnotations = methodgetParameterAnnotations();

if (parameterAnnotations == null || parameterAnnotationslength == 0) {

return null;

}

String[] parameterNames = new String[parameterAnnotationslength];

int i = 0;

for (Annotation[] parameterAnnotation : parameterAnnotations) {

for (Annotation annotation : parameterAnnotation) {

if (annotation instanceof Param) {

Param param = (Param) annotation;

parameterNames[i++] = paramvalue();

}

}

}

return parameterNames;

}

}

测试类:

package commikan;

import javalangreflectMethod;

import javautilArrays;

/

 @author Mikan

 @date 2015-08-04 23:40

/

public class ParameterNameTest {

public void method1(@Param("parameter1") String param1, @Param("parameter2") String param2) {

Systemoutprintln(param1 + param2);

}

public static void main(String[] args) throws Exception {

Class<ParameterNameTest> clazz = ParameterNameTestclass;

Method method = clazzgetDeclaredMethod("method1", Stringclass, Stringclass);

String[] parameterNames = ParameterNameUtilsgetMethodParameterNamesByAnnotation(method);

Systemoutprintln(ArraystoString(parameterNames));

}

}

post 请求获取body内容

注意:>

方法一:

如果你是jquery控的,可以将获取url参数的代码写成jquery插件:

<script type='text/javascript' src='>

用反射机制,简单写了一个例子,不懂的可以看一下相关api public class OwerMethodParam {

public static void main(String[] args) {

new OwerMethodParam()test("bb");

}

public void test(String aa) {

Method[] methods = OwerMethodParamclassgetDeclaredMethods(); //取得这个类的所有方法

if (methods != null) {

for (int i = 0; i < methodslength; i++) {

Method method = methods[i];

if ("test"equals(methodgetName())) { //取得本方法,这个方法是test,所以就用test比较

Class<>[] paramsClass = methodgetParameterTypes(); //取得参数列表的所有类

if (paramsClass != null) {

for (Class<> class1 : paramsClass) {

Systemoutprintln(class1getName());

}

}

break;

}

}

在页面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"); //选择组织部门

三个方法:

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>

以上就是关于javascript中怎么获取请求的参数全部的内容,包括:javascript中怎么获取请求的参数、Java如何获取方法参数的参数名称、springboot获取请求参数的几种方式可选参数使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9295869.html

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

发表评论

登录后才能评论

评论列表(0条)

保存