繁体   English   中英

$ .ajax删除请求不在capybara-webkit中发送数据参数

[英]$.ajax delete request not sending data parameters in capybara-webkit

我发现当我通过capybara-webkit执行时,我的ajax DELETE请求没有向控制器发送数据参数。 但是,当我使用selenium运行测试套件时,数据参数会被发送(并且测试通过)。 我的代码如下所示:

$(document).on 'click', 'a.delete_contact', ->
  if confirm "Are you sure you want to delete this contact?"
    id = $('a.delete_contact').data('id')
    name = $('a.delete_contact').data('name')
    $.ajax '/contacts',
      type: 'DELETE'
      dataType: 'html'
      data: {'id' : id}
      success: ->
        $("li[data-cid='#{id}']").remove()
        removeInitial(_.last(name.split(" "))[0])
        show_notice("Contact successfully destroyed.", 'notice')
        window.contactSelection.pop()        
        refreshSelectionView()
  return false

任何想法为什么这在capybara-webkit失败?

显然,QtWebKit不支持具有DELETE请求的实体主体。

https://github.com/thoughtbot/capybara-webkit/issues/427#issuecomment-12200262

一个capybara-webkit开发人员推荐这个解决方法:“[发送]一个带有参数的POST请求,该请求将请求标识为DELETE .Rails使用这种机制解决跨浏览器的类似问题。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM