如何获取删除请求参数


How to get DELETE request parameters

这就是我想使用 jquery ajax 删除记录的方式

deleteFile: function(obj) {
        $.ajax({
            type: 'delete',
            dataType: 'json',
            url: 'service/lead.php?a=deleteFile',
            data: {id: $(obj).attr('data-lf-id')}
        }).done(function(response) {
            console.log("done");
        }).fail(function(error) {
        });
    }

这有效,但是我如何支持在lead.php页面上获取id值?这就是我目前正在做的事情,但它没有捕获id值。

//service/lead.php
if ($_SERVER['REQUEST_METHOD'] == "DELETE") {
    if ($_GET['a'] == 'deleteFile') {
        echo json_encode($lead->deleteLeadFile($_REQUEST['id']));
    }
}

我建议将Ajax类型更改为"POST"或"GET"。 然后,您可以使用相应的 $_GET 或 $_POST 变量来检索您的 ID。

deleteFile: function(obj) {
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'service/lead.php?a=deleteFile',
            data: {id: $(obj).attr('data-lf-id')}
        }).done(function(response) {
            console.log("done");
        }).fail(function(error) {
        });
    }
//service/lead.php
if ($_GET['a'] == 'deleteFile') {
    echo json_encode($lead->deleteLeadFile($_POST['id']));
}
file_get_contents(“php://input”)

这总是给你原始的请求数据 - 你必须解析它[如果你发送urlencode数据,用parse_str,如果你发送JSON,用json_decode

]。

但是你应该保持它 RESTful 而不是类似 RPC,并在 /resource/:id 上发布删除。