php - JQuery $.get() 中 function(data){} 的用途

标签 php javascript jquery ajax

在我的 MySQL 数据库中有一个用于 VideoID 和 VideoCode 的列

我在 backend.php 中有一个 PHP 函数,旨在选择列表中的下一个视频,如下所示:

$VideoID = 0;

function nextvideo(){
    global $VideoID;
    $VideoID = $VideoID + 1;
    $sql = mysql_query("SELECT * FROM Videos WHERE VideoID = '".$VideoID."'");
    $result = mysql_fetch_array($sql);
    return $result[2];
}

$VideoCode = nextvideo();

然后,我的前端文件中的 $VideoCode 变量 echo 位于提供嵌入视频的 URL 内。

这一切都很好并且有效,每次调用 nextvideo() 函数时,它都会正确选择下一个 $VideoCode。不过,我想实现一个“下一个”按钮,允许用户有效地调用 nextvideo() 函数,从而加载下一个视频。所以我知道我需要使用 AJAX 和 .get() 函数,但我不知道如何使用它并尝试阅读它。到目前为止我有这个:

<script type="text/javascript">
  function next() {
      $.get("backend.php", *1*, *2*);
      return false;
  }
</script>

<a href="#" onclick="next();">Next</a>

我知道在 $.get() 函数中的 backend.php 之后我需要一些更多信息,*1* 是这样的发送到后端文件,*2* 是发送回后如何处理结果。这就是我被困住的地方。

*1* 是否需要是 nextvideo() 因为这是我希望调用的 PHP 函数,那么 *2* 就是什么这将刷新页面,以便更新 $VideoCode 变量并更新下一个视频?阅读文档我知道它需要看起来像:

$.get("test.php", function(data){
    alert("Data Loaded: " + data);
});

但是什么是函数(数据)

最佳答案

function(data) 是一个 JavaScript 函数,在请求完成时调用,并传入变量 data,该变量是从服务器返回的页面。换句话说,当请求完成时,该函数中的代码将被执行,并且变量 data 将包含服务器从您的请求发回的任何内容。

你想做的是这样的

<script type="text/javascript">
  function next() {
     var currentVideoId = $('#videoId').val();
     $.get("backend.php", { videoId: currentVideoId }, function(data) {
        $('#video').html(data); 
        $('#videoId').val($('#videoId').val() + 1);
     });
     return false;
  }
</script>

<a href="#" onclick="next();">Next</a>

其中有一个 id 为 videoId 的隐藏输入字段,其中包含当前视频 id 的值和一个 id 为 video 的元素,该元素是要更新的元素新视频。

您的 PHP 脚本将如下所示:

$VideoID = intval($_GET['videoId']) + 1;
$sql = mysql_query("SELECT * FROM Videos WHERE VideoID = '".$VideoID."'");
$result = mysql_fetch_array($sql);
echo $result[2];

这接受 AJAX 函数传入的 $_GET 变量,并打印出发送到 JavaScript 中的 data 变量的视频代码。

希望这对您有所帮助,如果您仍有疑问,请询问!

关于php - JQuery $.get() 中 function(data){} 的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099305/

相关文章:

php - Redis 默认以保护模式重启 - 如何更改此设置

javascript - 与 UIWebview 表单弹出窗口通信?

javascript - grunt-browserify 别名停止工作

javascript - 如何从nodejs回调函数返回值?

javascript - jquery slider - 动画时间轴

javascript - knockout.js 可观察到的内容没有更新

jquery - 浏览到目标常见问题解答主题

php - Grocery Crud - 无法区分返回查询表中的属性

php - 每个操作系统的 MPDF 文件大小不同

php - faker 库和准备好的语句无法正常工作且没有错误显示