首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ajax中的DELETE请求给出301已移动响应

ajax中的DELETE请求给出301已移动响应
EN

Stack Overflow用户
提问于 2010-10-04 02:43:06
回答 3查看 1.5K关注 0票数 3

我正在尝试使用jquery的ajax方法发出一个delete请求,如下所示

代码语言:javascript
运行
复制
$.ajax(
{
  type: 'DELETE',
  url: '/tagz',
  data: {id: taskId},
  success: function(data)
  {
    console.log(data);
  }
});

当我在chrome中看到控制台时,我发现请求头中发出的是GET请求,而不是DELETE。在firefox控制台中,我看到了以下内容。

代码语言:javascript
运行
复制
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]

在服务器端,我只是维护以下代码。

代码语言:javascript
运行
复制
$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'

下面是我在服务器上用来清理urls的.htaccess文件。

代码语言:javascript
运行
复制
RewriteEngine on
RewriteRule ^(.*)$ index.php [L,QSA]

请帮我提出删除请求。谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2010-10-05 16:42:31

这样啊,原来是这么回事。:)

问题出在我在$.ajax中传递的url ('/tagz')。当我把它改成/tagz/ (在最后加了另一个斜杠)时,它在Chrome和火狐浏览器上就能正常工作了。

谢谢你们。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3851070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档