将.php站点加载到div而不重新加载

时间:2015-11-14 14:37:40

标签: javascript jquery html reload

我正在尝试创建以下方案:

我的索引文件中的表单收集用户的输入,用于进行一些计算。这个计算的结果应该在同一页面上的一个漂亮的界面中回显给他,而不需要重新加载。

目前,results.php页面正确接收输入。现在,我只想在主页面上的结果div中显示它,而不重新加载results.php。 .load是错误的命令。我需要像“.show”这样的东西......任何想法?

HTML:

<form action="results.php" method="post" class="ajaxform">
    //all the inputs
    <input type="submit" value="see your results" class="button"/>
</form>

<div id="results">
    //here he should see the results.php output
</div>

的jQuery

jQuery(document).ready(function(){

jQuery('.ajaxform').submit( function() {

    $.ajax({
        url     : $(this).attr('action'),
        type    : $(this).attr('method'),
        data    : $(this).serialize(),

        success : function( data ) {
                     alert('Form is successfully submitted');       

                    setTimeout(function() {
                     $('#results').load('results.php');  
                     }, 1000);

                  },
        error   : function(){
                     alert('Something wrong');
                  }
    });

    return false;
});});

2 个答案:

答案 0 :(得分:0)

更改此

$('#results').load('results.php');

$('#results').html(data);

如果返回的结果为data变量。

答案 1 :(得分:0)

如果我理解你的问题, results.php 会收到你在div #result 中显示的输出。 要使用来自ajax-request的返回数据,您将 data 作为javascript变量。要在div中显示结果,您需要在ajax-call的success函数中使用以下语句。

function myFunction(data){
    console.log(data);
}