我试图使用jQuery的AJAX方法如下DELETE请求移动响应
$.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]
请帮我在做删除请求。谢谢!
DELETE和PUT是有效的HTTP请求方法,请参见第9.6和9.7节:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html – PatrikAkerstrand 2010-10-03 18:48:55
没有删除或放入jQuery.ajax( ) – 2010-10-03 18:51:25
够公平的。似乎我不能删除倒票,除非答案被编辑? – PatrikAkerstrand 2010-10-03 19:05:03