繁体   English   中英

区分发布请求

[英]differentiating between post requests

我有这个 jquery function 向服务器发送 POST 请求

function loadInfo() {
    jQuery(function($) {
        $.ajax({
            method: "POST",
            url: "/admin.php",
            dataType: "json",
            success: function(data) {
                console.log(data);
                for (var i = 0; i < data.length; i++) {
                    setMarker(data, i, "red");
                    printInfo(data, i);
                }
            }
        })
    });
}

这就是处理请求的方式

if($_SERVER['REQUEST_METHOD'] === 'POST'){
    header('Content-Type: application/json');
    require 'private/database.php';

    $sql = "SELECT * FROM form";
    $result = mysqli_query($conn, $sql);

    $data = array();
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
    }
    die(json_encode($data));
}

该代码有效,但是如果我向同一台服务器发送了多个 POST 请求怎么办? 有没有办法像处理 HTML forms 时那样区分它们? 例如,如果提交表单的按钮是“submit_button”...

if (isset($_POST['submit_button'])) {
   ...
}

您必须发送一些参数来区分请求。

eg:     $.post( "test.php", { name: "John", time: "2pm", method:"formSubmit" } );

AJAX 可以通过多种方式发送带有数据(多个数据项)的帖子。 其中一种方法是:

 $.ajax({
                url: 'process.php',
                type: 'POST',
                data: {status: "ok", name: "Richard"},
                success: function (result) {
                    alert('success');
                } 
})

在上述情况下,您已通过 POST 方法将状态和名称数据发送到 php 脚本。 希望它能回答你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM