全选删除ajax怎么发送参数,$ .ajax删除请求不发送数据参数在capybara-webkit

博客作者遇到一个问题,即在使用capybara-webkit进行测试时,AJAX DELETE请求未发送数据参数,而使用硒(Selenium)时则正常。问题可能在于capybara-webkit不支持某些HTTP动词的数据传递。作者提供了相关代码片段,并引用了capybara-webkit的讨论链接,表明该问题与请求体的处理有关。
摘要由CSDN通过智能技术生成

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

$(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中失败?

+0

我不确定这个问题的解决方法,但似乎capybara-webkit没有模仿http动词的能力。 [见这里的讨论。](https://github.com/thoughtbot/capybara-webkit/issues/180) –

+0

@JasonKim我相信讨论是关于允许从Ruby代码到服务器的任意请求。这是“浏览器”(由capybara-webkit模拟)不通过请求主体发送的问题,除非HTTP方法是PUT或POST。我有同样的问题,但我试图使用PATCH方法。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值