我正在尝试使用 jquery 的 ajax 方法发出删除请求,如下所示
$.ajax(
{
type: 'DELETE',
url: '/tagz',
data: {id: taskId},
success: function(data)
{
console.log(data);
}
});
当我在 chrome 中看到控制台时,我在请求标头中发现发出的是 GET 请求而不是 DELETE。在 Firefox 控制台中,我看到以下内容。
23:50:52:658: Network: DELETE http://test.goje87.com/tagz [HTTP/1.1 301 Moved Permanently 947ms]
23:50:53:614: Network: GET http://test.goje87.com/tagz/ [HTTP/1.1 200 OK 400ms]
在服务器端,我只是维护以下代码。
$reqMethod = $_SERVER['REQUEST_METHOD'];
switch($reqMethod)
{
case 'GET':
Utils::printR('Will provide the resource.');
selectObjects();
break;
case 'POST':
Utils::printR('Will create a new record.');
createObject();
break;
case 'PUT':
Utils::printR('Will update the record.');
break;
case 'DELETE':
Utils::printR('Will delete the record.');
Utils::output($_SERVER);
break;
}
我没有看到请求进入case 'DELETE'
. case 'GET'
相反,它正在进入。
以下是我在服务器上使用的用于清理 url 的 .htaccess 文件。
RewriteEngine on
RewriteRule ^(.*)$ index.php [L,QSA]
请帮助我提出删除请求。谢谢!