Javascript 此get方法似乎正在工作,但控制台中存在错误

Javascript 此get方法似乎正在工作,但控制台中存在错误,javascript,ruby-on-rails,ajax,coffeescript,Javascript,Ruby On Rails,Ajax,Coffeescript,我的脚本如下: disallow_part = { disallow_part: '#disallow-part' init: -> @setListeners() setListeners: -> $(@disallow_part).live 'click', -> partId = $(this).data("part-id") augmentId = $(this).data("augment-id")

我的脚本如下:

disallow_part = {
  disallow_part: '#disallow-part'

  init: ->
    @setListeners()

  setListeners: ->
    $(@disallow_part).live 'click', ->
      partId = $(this).data("part-id")
      augmentId = $(this).data("augment-id")
      $.get("/parts/#{partId}/disallow_part_for_augment/#{augmentId}", null, 'script')
}
这似乎是因为正在将记录添加到数据库中,而在控制台中,我得到了这个错误

获取http:**/parts 404(未找到)


知道发生了什么吗?

服务器返回404错误:您将请求发送到了错误的URL


检查您在浏览器的deverOper控制台的“网络”选项卡上发送的请求(它可能会显示为红色,因为它未成功)

由于您的后端似乎正确理解了该请求,因此一个可能的原因是中存在差异

  • 检查浏览器控制台的网络部分
  • http头在请求中是什么样子的
  • http头在响应中是什么样子的
  • 关注内容类型字段。也许您的ajax请求需要json,但服务器返回text/html


    尝试使用ajax的标题发送并期望正确的数据类型,我相信您会很快修复它。

    是否正确呈现“/parts/{partId}/disallow_part_for_augment/{augmentId}”?你能检查正在发送的url吗?是的,该路径解析方式正确无误。无论我是通过浏览器还是get方法点击,它仍然会添加一条记录。为什么他发送了错误的URL?他说这是可行的。服务器会用404响应肯定是有原因的。他说成功添加了一条记录——我认为这不是GET请求的效果。没有剩下的代码很难说。。。可能发送了几个请求?我不明白为什么GET请求不能处理DB记录。可能会增加计数器以注册视图?当然,他提供的信息很少,但后端代码在这一点上似乎并不相关,因为ajax调用似乎成功,@isea似乎没有故意返回404。您可能是对的,可能进行了几个调用,但是从代码来看,这是一个延伸。因为GET请求应该是幂等的,并且请求的顶级语义不应该被破坏。当然可以。当然,你是对的。我没有评论isea使用GET请求,他可能应该使用POST/PUT,因为正确配置的GET请求不会返回404,即使它不是幂等的。这不安全,但应该是有效的。