目前我在网站上使用iframe来显示来自其他网页的内容,例如表单。我遇到的问题是在登录页面上,当用户使用iframe中的表单登录时,它只显示登录iframe中的下一页 - 这完全没用。
我听说AJAX对于这样的事情更加灵活和动态,但我无法弄清楚如何使用它,我看了一些教程,但似乎没有在显示页面内的页面。
如何用AJAX替换我的iframe?
提前感谢:)
答案 0 :(得分:3)
由于您不会使用iFrame,因此您需要一个容器来放置您的页面。使用AJAX,通常的做法是使用<div>
元素来保存该数据。此外,jQuery或其他支持AJAX的Javascript库将通过使用经过测试的代码使您的生活更轻松,因此您可以专注于您的业务逻辑而不是细节。因此,在HTML中,您将需要一个容器元素:
<div id="otherpage"></div>
然后在包含的javascript文件中,您可以使用此jQuery:
$(document).ready(function() {
$('#otherpage').load('otherpage.html', function() {
alert('Load was performed.');
});
});
当然,在使用之前,请确保包含jQuery。 This tutorial应该可以帮助您开始使用jQuery。
答案 1 :(得分:0)
你面临的问题与ajax的关系比任何其他事情都要多。
尝试在主机html(不是通过ajax加载的那个)中“预加载”你的js函数,然后通过ajax加载特定的渲染html。
然后,使用jquery“.done(function(data){...”方法调用js函数,一旦它们准备就绪,就“预先加载”&lt;&lt;(包含在基础html /文档中)
希望这个帮助,问候。
尝试这样的事情:
$(document).ready(function(){ $.ajax( url : './your_script.php', context: 'document', ).done(function(data){ $('#your_div').html( data ); your_js_function(); }) }); // ---- main html function your_js_function(){ alert('got it!'); };