簡體   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