打开一个页面的同时给该页面传递参数;

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打开一个页面的同时给该页面传递参数;相关的知识,希望对你有一定的参考价值。

要求:1 ajax要是post请求发送参数到a页面;2 请求成功后打开该页面,并能获取刚刚传递过来的参数;
备注:我试过了ajax请求后window.open该页面,但是并不能获取到参数;另外利用url+参数这种形式是可以传递参数,并且能成功获取,但是我的a页面是一个主页,不想后面带那么多参数,显得不好看;

1).一种是重定向跳转,超连<a>就是一种重定向跳转,这样的跳转request对象是传不到下一个页面的,下一个页面得到的request对象是一个新的对象,而不是上一个页面传过来的就得不到上一个页面的数据.如果你想通过这种方法跳转的话,那就要用<a href="a.jsp?参数名=参数值">,在下一个页面用request.getParameter("参数名")得到值
(2).另一种跳转是转发,这种跳转request对象就被传往下一个页面,可以用<jsp:forward page="/a.jsp"/>,这样你可以把参数用request.setAttribute()方法存进request对象里,再到下一个页面用request.getAttribute()得到参数.
两种方法最明显的区别是,重定向跳转当你从a.jsp到b.jsp页面的时候,地址栏的地址已经由a.jsp变为b.jsp;相反,转发跳转当你从a.jsp到b.jsp页面的时候,地址栏仍然是a.jsp的地址
参考技术A 隐藏域呀 <input type="hidden" value="xxx" name="xxx"/>

Dynamics 365 navigateTo打开WebResource如何传递参数及formContext

navigateTo的具体用法可以参考Docs,本篇主要分享的是打开WebResource也就是自定义的HTML页,打开一个页面参数如何从主页面传到HTML页面,这个是必定要思考的

关于navigateTo打开web resource的参数如下,其中有个叫data的,看说明就是用来从主页面传给html页面的值,但要注意下他的类型是string,所以当你传key value的时候记得要JSON.stringify一下,然后到了html页面再JSON.parse转化下

键值对传值的方式解决了,那有没有办法把parent页面的formContext传过去呢,毕竟如果我在html页面用到的主页面字段很多的时候,通过键值对传值有点费事,答案是有的

在主页面中定义如下

Contoso.CustomerPlan = (function () {
    return {
        OnLoad: function (ExecutionContext) {
            var formContext = ExecutionContext.getFormContext();
            Contoso.CustomerPlan.formContext = formContext;
        }
    }
})();

parent.getContext = function () {
    return Contoso.CustomerPlan.formContext;
};

在HTML页面里去接主页面传过来的context即可

 var formContext = parent.getContext();

以上是关于打开一个页面的同时给该页面传递参数;的主要内容,如果未能解决你的问题,请参考以下文章

vue新打开页面并传递参数

用js在不同页面之间传递参数。急急急急急急急急!!!!!

如何用linkbutton传递多个参数,同时实现页面跳转并且在另一个页面获取id?

两个html的页面之间怎么传递参数啊

如何将参数从漂亮的 URL 传递到 JSP 页面?

vue打开到新页面,并传递参数