如何使用AJAX作为iframe的替代方案?

时间:2012-04-29 11:37:29

标签: php ajax iframe

目前我在网站上使用iframe来显示来自其他网页的内容,例如表单。我遇到的问题是在登录页面上,当用户使用iframe中的表单登录时,它只显示登录iframe中的下一页 - 这完全没用。

我听说AJAX对于这样的事情更加灵活和动态,但我无法弄清楚如何使用它,我看了一些教程,但似乎没有在显示页面内的页面。

如何用AJAX替换我的iframe?

提前感谢:)

2 个答案:

答案 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!');
    };