首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ajax时不接受jQuery - url

使用ajax时不接受jQuery - url
EN

Stack Overflow用户
提问于 2015-01-13 23:15:01
回答 1查看 219关注 0票数 4

我正在尝试构建一个ajax请求,它最终将允许用户通过单击每个项目旁边的按钮来对列表进行排序。这是我到目前为止所知道的:

代码语言:javascript
复制
upLinks.on('click', function(e) {
  var link;
  e.preventDefault();
  link = $(this)[0];
  console.log(link.pathname);
  $.ajax({
    type: 'PUT',
    url: link.pathname
  });
  return false;
});

不出所料,console.log(link.pathname)会将/projects/11/project_items/104/sort注销到控制台。但是,ajax请求返回一个错误:

代码语言:javascript
复制
PUT http://localhost:3000/projects/11 400 (Bad Request)

查看服务器日志,由于某种原因,它实际上是去往/projects/11,而不是/projects/11/project_items/104/sort。根据jQuery文档,在本例中,/projects/11将是ajax的默认参数,因为这是当前页面的路由。这让我相信它完全忽略了url参数。

如果我将HTTP方法类型更改为GET,ajax将按预期运行。对于PUT请求,/projects/11/project_items/104/sort不是可接受的url有什么原因吗?我认为,因为我正在更新数据(使用新位置),所以PUT请求将是最合理的选择。

EN

回答 1

Stack Overflow用户

发布于 2015-01-13 23:20:01

需要注意的是,如果您使用的是IIS 404服务器,并且jquery PUT或DELETE请求返回404个错误,则需要在IIS中启用这些谓词。我发现这是一个很好的资源:http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx

“要发出的请求类型("POST”或"GET"),默认为"GET“。注意:此处也可以使用其他HTTP请求方法,但并非所有浏览器都支持这些方法。”来自:http://api.jquery.com/jQuery.ajax/#options

参考堆栈问题:How to send a PUT/DELETE request in jQuery?

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

https://stackoverflow.com/questions/27925359

复制
相关文章

相似问题

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