jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。在 Web 开发中,经常需要在父页面和子页面之间传递数据。jQuery 提供了多种方法来实现这一点。
父页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Parent Page</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<a href="child.html?name=John&age=30">Go to Child Page</a>
</body>
</html>
子页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Child Page</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var urlParams = new URLSearchParams(window.location.search);
var name = urlParams.get('name');
var age = urlParams.get('age');
console.log('Name: ' + name + ', Age: ' + age);
});
</script>
</body>
</html>
父页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Parent Page</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="hiddenData" style="display:none;">
<input type="hidden" name="name" value="John">
<input type="hidden" name="age" value="30">
</div>
<iframe id="childFrame" src="child.html"></iframe>
<script>
$('#childFrame').on('load', function() {
var data = $('#hiddenData').html();
$('#childFrame').contents().find('body').html(data);
});
</script>
</body>
</html>
子页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Child Page</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var name = $('input[name="name"]').val();
var age = $('input[name="age"]').val();
console.log('Name: ' + name + ', Age: ' + age);
});
</script>
</body>
</html>
原因: 浏览器对 URL 的长度有限制,过长的 URL 可能会导致传递失败。
解决方法:
原因: 浏览器的同源策略限制了不同源之间的数据访问。
解决方法:
通过以上方法,可以有效地在父页面和子页面之间传递数据,并解决常见的传递问题。
领取专属 10元无门槛券
手把手带您无忧上云