用php获取ajax帖子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用php获取ajax帖子相关的知识,希望对你有一定的参考价值。

我不明白为什么这不起作用。

$.ajax({
  type: "POST",
  url: 'test.php',
  data: {name: 'Wayne', age: 27},
});

echo $_POST['name']; echo $_POST['age'];

它输出以下内容。

答案

为了工作和IMO,“最好”的方法是使用两个不同的文件。

  1. 您发出Ajax请求的一个文件(index.html / index.php)
  2. 一个文件(例如backend.php),其中发送回应

它不能用于一个文件的原因是因为PHP在发出请求之前运行(当呈现index.something文件时)。

由于您期望得到Ajax请求的即时反馈,因此您需要有一个成功函数,它可以对backend.php返回的数据执行某些操作。

流程如下:

  1. index.html向backend.php发出请求并等待响应
  2. 后端响应
  3. index.html在success函数中接收backend.php响应

例:

index.html ( first file )

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Hello World</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="main.js"></script>
    <script>
        function $ajaxReq() {
            $.ajax({
                method: "POST",
                url: "backend.php",
                data: {
                    name: "John",
                    age: 23
                },
                success: function(data) {
                    alert(data)
                }
            })
        }
    </script>
</head>
<body>
    <button onclick="$ajaxReq()">Click me</button>
</body>
</html>

backend.php ( second file )

<?php
    $name = $_POST["name"];
    $age = $_POST["age"];
    echo "Hello, my name is " . $name . " and I am " . $age . " years old.";
?>
另一答案

它应该是:

$.ajax({
 method: "POST",
 url: 'test.php',
 data: {name: 'Wayne', age: 27},
})

代替

type: "POST"

如图所示:http://api.jquery.com/jquery.ajax/

另一答案

试试这个作为基本测试......

<?php
if($_POST){
  echo $_POST['name']."<br>";

  if($_POST['age']<21){
    echo "Too young to log in!";
  }else{
    echo $_POST['age']." years old is ok!";
  }

}else{
  echo "No post values yet.";
  ?>
  <div id="result"></div>

  <script>
  $.ajax({
    method: "POST",
    url: 'test.php',
    data: {name: 'Wayne', age: 19},
    success: function(response){
      $("#result").html("I'm the Ajax result!<br><br>"+response);
    }
  });
  </script>
  <?php
}
?>

您应该注意到PHP在这里运行了两次...在加载时然后在Ajax请求上运行。

以上是关于用php获取ajax帖子的主要内容,如果未能解决你的问题,请参考以下文章

php 使用AJAX获取帖子

php 通过AJAX随机发布。使用此函数可以获取AJAX回调处理程序中的随机帖子。

php 通过AJAX随机发布。使用此函数可以获取AJAX回调处理程序中的随机帖子。

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。

为啥我总是在这个 ajax 帖子到 php 时得到未定义的响应?

php + ajax实现 帖子点赞功能