0

所以我有一个页面,可以在请求时更新我的​​数据库。例如,当我访问它时,database_update.php它只是更新数据库并且不显示任何内容。

Index.php显示用户数据库内容。

所以我在 JavaScript 中调用了一个函数,update它必须使用 AJAX 来运行这个页面,并且在页面加载之后(在所有查询成功运行之后)它必须加载index.php并向用户显示更新的页面(重新加载页面而没有刷新效果)。

我的代码是这样的:

$.get('ajax_update_table.php', {
    // The following is important because page saves to another table
    // users nick which call update:
    update: UserLogin
}, function (output) {
    // The following is unimportant:
    $(myDiv).html(output).show();
});
4

3 回答 3

1

两个建议:

  1. 从您的 database_update 脚本返回“成功”或“错误”代码。返回 JSON 字符串非常简单。例如:

    echo '{"success":"success"}';
    
  2. 使用 $.ajax 函数。然后添加成功、错误和完成参数。当 AJAX 请求完成时,您可以调用任何 javascript 函数。

    $.ajax({
        url: 'update_database.php',
        dataType: 'json',
        success: function (data) {successFunction(data)},
        error: function () { error(); },
        complete: function () { complete(); }
    });
    
    function successFunction(data) {
        if ('success' in data) {
            // Do success stuff here.
        } else {
            // Show errors here
        }
    }
    // .... etc
    
于 2012-11-14T18:34:22.007 回答
0

我可能遗漏了一些东西,但我会尽力回答你的问题。

我会设置一个空白页面,在加载它时将 index.php 发送到该页面上的 div。例如,制作一个标题为blank.php 的页面。

blank.php 将具有以下内容:

function Index(){
$.ajax({
    url:"index.php",
    type: "GET",
    success:function(result){
        $("#web-content").html(result);
    }
});
}

<script type="text/javascript">Index();</script>
<div id="web-content"></div>

然后,您将让您的索引执行 Index 函数以使用 index.php 数据更新 web-content div,而无需重新加载 blank.php 页面。

于 2012-11-14T19:00:49.583 回答
0

让它工作!

我的 index.php

<html>
<head>
    <script type="text/javascript" language="Javascript" SRC="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" language="Javascript">
    function update_and_replace()
        {
            $.ajax({
                url: 'ajax_update_table.php',
                dataType: 'json',
                success: function (data) {successFunction(data)},
                error: function () { error(); },
                complete: function () { complete(); }
            });
        }

        function successFunction(data) {
            if ('success' in data) {
                $("#content").load("index.php");
            } 
        }

    </script>
</head>
<body>
<div id='content'>
Now is: <?php echo date("Y-m-d, H:i:s");?>
<br/><br/><br/><br/>
<a href="javascript:void(0);" onClick="update_and_replace();">Aktualizuj</a>
</div>
</body>
</html>

Ajax_update_table.php

<?php echo '{"success":"success"}'; ?>

谢谢大家的帮助。我知道我的英语不好,但在你的帮助下我做到了!

于 2012-11-14T21:42:38.523 回答