使用ajax/javascript调用php函数

Calling a php function using ajax/javascript

本文关键字:php 函数 调用 javascript ajax 使用      更新时间:2023-09-26

好吧,伙计们,我知道以前有人问过这个问题,但我对PHP和JavaScript非常陌生,直到我开始寻找这个问题的答案,我才听说过ajax,所以我不理解以前的答案。

我正在创建一个网站,本质上是SQL数据库中的一堆视频,它一次显示一个视频,我想有一个下一个和上一个视频按钮。

然而,我无法克服ajax的问题,所以我的问题更简单。我看过这个问题/答案,认为它几乎概括了我的问题:

当用户点击链接时,我如何运行PHP代码?

我已经复制了确切的代码,

    <script type="text/javascript">
       function doSomething() {
       $.get("backend.php");
          return false;
      }
     </script>
<a href="#" onclick="doSomething();">Click Me!</a>

在我的backend.php文件中,我刚刚得到了<?php echo "Hello" ?>,只是为了测试它,因此我的理解是,当我单击链接时,会触发javascript onClick事件,该事件反过来调用backend.php文件,该文件表示要在页面上打印"Hello"。然而,当我点击链接时,它什么也不做。

很明显,最终我需要在php函数和调用变量等方面变得更加复杂,但我喜欢在大多数情况下自己解决问题,所以我会学习。不过我还是坚持了下来。此外,当我在这里的时候,我会问另一件事,我想"回馈"网站的用户回答我的问题,但我只能很好地使用HTML和CSS来回答其他人的问题,任何关于能够在这里找到更简单的问题的建议,这样我就可以回答一些问题。

提前感谢:)

它什么也不做,因为你对结果什么都不做。我的猜测是,在您所举的例子中,它做了一些工作,但没有向用户显示任何内容。因此,如果你只想在服务器上运行一些东西,而不向用户返回任何输出,你可以简单地这样做,它就会起作用。

jQuery的.get()文档示例

您所做的:

示例:请求test.php页面,但忽略返回的结果。

$.get("test.php");

您想做什么:

示例:提醒请求test.php的结果(HTML或XML,具体取决于返回的内容)。

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

查看.get()文档。你用错了。

您应该至少传递数据(可选)并处理返回的数据:

$.get("backend.php",
    {
        // data passed to backend.php goes here in 
        //
        // name: value
        //
        // format. OR you can leave it blank.
    }, function(data) {
        // data is the return value of backend.php
        // process data here
    }
);

如果传递数据,则可以使用$_GETbackend.php上检索数据。在这种情况下:

$_GET['name'];
$.get("test.php", { name: "John", time: "2pm" }, function(data) {
   alert("Data Loaded: " + data);
 });

http://api.jquery.com/jQuery.get/

这会提醒数据。现在该函数只返回false。

$.get('backend.php', function(data) {
  alert(data);
});

您的代码不会按照设置的方式打印到页面上;您已经调用了页面,但需要以某种方式处理响应。如果你在Chrome中打开开发工具,你可以点击"网络"选项卡,查看请求和响应,以验证你编码的内容是否有效,但现在你需要把响应放在某个地方。

通过将函数作为第二个变量传递到$.get中,您可以使您的请求显示在页面上。试试这样的东西:

$.get("backend.php", function (data) { $('body').append(data); } );

您的代码没有处理该数据。因此,您应该使用以下代码:

$.get("backend.php", function(response) {
    alert(response);
  })

或者,要在UI上显示该数据,请将其分配给任何html元素。

欲了解更多信息,请访问:jQuery.get()链接