如何获取DELETE请求参数

时间:2013-09-25 20:12:05

标签: javascript php jquery ajax

这就是我想用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) {

        });
    }

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

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

2 个答案:

答案 0 :(得分:1)

我建议将您的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']));
}

答案 1 :(得分:1)

file_get_contents(“php://input”)

这总是为您提供原始请求数据 - 如果您发送urlencoded数据,则需要[parse_str解析,如果发送JSON,则需要json_decode

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