如何使用 AJAX 刷新 PHP 文件


How to refresh PHP file with AJAX

好的,所以我尽可能多地搜索网络,但我找不到解决问题的方法。我也输入了问题并搜索了答案,因为我看到了与我类似的问题。没帮助。我尝试了许多解决方案。

好吧,我有一个索引页面,它加载includes/data.php从数据库加载数据并回显.js格式,然后由函数加载并在页面上显示数据,所以我在我的索引末尾.php像这样:

<script type="text/javascript" src="includes/data.php"></script>

在同一索引页上,我有一个将数据插入数据库的表单。如果您刷新页面,我将看到刷新的includes/data.php以及我刚刚输入的新数据。

我正在尝试实现 AJAX,以便当我单击按钮时将数据插入数据库(已经实现了这一点)并刷新includes/data.phpindex.php的内容,以便它立即显示数据而无需刷新index.php。这是我的 AJAX 代码:

$('#addtocal').submit( function() {
    $.ajax({
        url     : $(this).attr('action'),
        type    : $(this).attr('method'),
        data    : $(this).serialize(),
        success : function( data ) {    
                   // This is the part where I am stuck.
                  },
        error   : function(){
                     $(".error").fadeIn(2000);
                     $(".error").fadeOut(2000);
                  }
    });
    return false;
});

值得一提的是,#calendar是主要的jquery函数根据来自/includes/data.php的信息加载html内容的地方。提前感谢您提供的任何帮助,如果您需要我提供的任何其他信息,请告诉我,以便更好地帮助我。

附言我看到许多人建议使用 .load() 从includes/data.php加载内容,但这在我的情况下不起作用,因为来自includes/data.php的内容需要服务于其他 jquery 函数,该函数动态创建 html 并将其放置在#calendar

我让它工作了。我所做的是我在 $.ajax 中坚持附加 $.ajax 并在完成后再次调用使用 /includes/data.php 的 jquery

所以代码将是这样的:

$('#addtocal').submit( function() {
$.ajax({
    url     : $(this).attr('action'),
    type    : $(this).attr('method'),
    data    : $(this).serialize(),
    success : function( data ) {    
               $.ajax({
                        url: "../includes/data.php",
                        dataType: "script",
                        cache: true
                        }).done(function() {
                          // Here I called other jquery function that uses ../includes/data.php
                        });
              },
    error   : function(){
                 $(".error").fadeIn(2000);
                 $(".error").fadeOut(2000);
              }
});
return false;
});

无论如何,感谢您的帮助@Half Crazed 给了我一个线索,所以我得到了 $.getScript 函数并看到了再次调用.js的方法,所以我尝试了一下,它奏效了。