用js通过url传参把数据从一个页面传到另一个页面_javascript技巧_脚本之家

2019-12-02 23:34栏目:竞技宝竞猜
TAG:

用js把数据从一个页面传到另一个页面的层里?

  最近遇到了一个问题就是在JSF页面中嵌入html页面,这个html页面中很多功能是使用js动态生成的,现在需要在js函数里想去调用JSF中action类method()方法并动态传送数据给后台进行处理。找了很多jsf组件资料,发现 a4j:jsFuction 进行动态传值很方便很快捷,不用写 actionListener 监听器去监听传值给bean方法。

如果是传到新页面的话,你网站基于什么语言开发直接用get或者post获取,然后输出到这个层

  a4j:jsFuction的有趣在于,它提供了一个客户端request前,和request后的js功能的截取添加。为了理解这个概念。首先,把a4j:jsFuction看作一个js fuction.名字由name属性来定义。如果我们给这个js fuction添加参数的话,可以在a4j:jsFuction里面加上 f:param作为一个函数参数。a4j:jsFuction主要是加了个js的功能外壳。(必须注意的是,它必须在一个form里)。我们可以通过oncomplete这个属性,来使用从server端来的返回值作为任意js函数的参数,并调用这个js函数。如果页面有需要update的控件的话,还可以用reRender属性来重新render一下各别需要更新的页面控件。

通过url传参

  在xhtml页面Button按钮调取嵌入h5页面如下:

如果是HTML页面的话JS传到新页面就window.location.href='a.html?id=100';然后a.html页面的JS就

<a4j:commandButton value="播放" styleClass="formBox_commonButton" reRender="videoReportModelPanel"
    action="#{action.getVideoFileName(item.id)}" onclick="initPlayer();"
    oncomplete="Richfaces.showModalPanel('videoReportModelPanel');"/>
document.getElementById.innerHTML=window.location.split[1];

  JS进行处理:

如果是想要实现AJAX在a页面传参数到b页面并且在a页面的层显示b页面执行参数的结果的话就用AJAX了

function initPlayer(){
    .......
    //初始化页面
    .......
}

......

//页面特殊功能调用
function putJsFuction(data1,data2){
    var base64Str = data1;
    var vedioId = data2;
    transparm(vedioId,base64Str);
}

这个写起来太多,给你JQUERY的

  JS处理完业务逻辑后,要把处理的结果传到<a4j:jsFunction>当中。

$.load;//或者$.get("b.html?id=100",function.html

  注:transparm 对应 a4j:jsFunction 中 name 属性,俩个参数对应 f:param 中 name 属性。传多少个参数可以自己定义。

版权声明:本文由龙竞技官网发布于竞技宝竞猜,转载请注明出处:用js通过url传参把数据从一个页面传到另一个页面_javascript技巧_脚本之家