iframe中传递参数问题,

快跑蜗牛哥 2017-07-14 10:52:43
a页面中嵌入了iframe 如下:
<button id="totalx">传递参数</button>
<iframe id="xxx" src="fir/tofir" width="100%" align="middle"></iframe>

b页面就是 fir/tofir 页面,
使用ajax通过java读取数据,
$.getJSON('../fir/queryFir', function(map) {
//读取数据
});

现在要求 在a 点击 传递参数按钮后。传递两个参数到b页面,
b页面的根据获得的参数查询出数据。

在a页面,加入以下js后 参数可以传递到 相关java页面,
但 b页面查询出来的值没有随条件变化,请问该如何修改?

<script type="text/javascript">
<!--
$("#totalx").click(function() {
var sTime = ‘2017/04/08’;
var eTime = ‘2017/07/07’;
$.ajax({
type: "post",
url: "fir/queryFir",
async:false,//false:同步;true :异步,不写默认异步
data: {
"sTime" : sTime,
"eTime" : eTime
},
dataType: "json",
success: function(data){

//document.getElementById('xxx').contentWindow.location.reload(true);
// 刷新 b 页面,java中获得的值会返还原来的值。
}

}
);


});
//-->
</script>
...全文
1089 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2017-07-14
  • 打赏
  • 举报
回复
<button id="totalx">传递参数</button>改成 <button id="totalx" type=button>传递参数</button> 或者 <input type=button id="totalx" value="传递参数"/> button 默认情况下是提交,整个页面刷新了 或者改成 <iframe name="xxx" src="fir/tofir" width="100%" align="middle"></iframe> window.frames["xxx"].location.href="fir/tofir?sTime=" + encodeURIComponent(sTime) + "&eTime=" + encodeURIComponent(eTime) 直接提交到ifrmae页面 因为你即使刷新页面,页面并没有参数,除非你刷新的页面是从数据库取值,而不是依赖参数的
  • 打赏
  • 举报
回复
可以换一种思路,既然是iframe,那么a与b是同时在一个界面中显示,可以点击时通过ajax获取到b要显示的数据然后用js替换b中相应的数据或者内容
快跑蜗牛哥 2017-07-14
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
<button id="totalx">传递参数</button>改成 <button id="totalx" type=button>传递参数</button> 或者 <input type=button id="totalx" value="传递参数"/> button 默认情况下是提交,整个页面刷新了 或者改成 <iframe name="xxx" src="fir/tofir" width="100%" align="middle"></iframe> window.frames["xxx"].location.href="fir/tofir?sTime=" + encodeURIComponent(sTime) + "&eTime=" + encodeURIComponent(eTime) 直接提交到ifrmae页面 因为你即使刷新页面,页面并没有参数,除非你刷新的页面是从数据库取值,而不是依赖参数的
上午发帖后,就想到问题了,和你这个处理方法一样。
Go 旅城通票 2017-07-14
  • 打赏
  • 举报
回复
之前的帖子不是回你了,sTime和eTime做为全局变量 var sTime = '2017/02/09'; var eTime = '2017/07/07'; 这个2个放到click外面,就是window作用域下作为全局变量,要不你修改不了这2个参数 放window下后用下面代码搞定
var fir=$('#Fir')[0].contentWindow,doc=$(fir.doument)
fir.sTime='xxxxxxxx';
fir.eTime='xxxxxx'
doc.find$('#totalx').trigger('click')
不改代码只能父页发送ajax请求获取数据后(自己改sTime,eTime参数),通过上面示例的代码得到的doc对象执行更新 父页导入jquery $.ajax({ type: "post", url: "fir/queryFir", async:false,//false:同步;true :异步,不写默认异步 data: { "sTime" : sTime, "eTime" : eTime }, dataType: "json", success: function(data){ var doc=$('#Fir').contents() //更新代码 } } );

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧