在key up或change事件中,触发Ajax在jQuery中发送数据

The*_*M97 4 javascript jquery

我已经尝试了键盘和更改功能,这就是为什么他们不做的伎俩.用户输入凭证代码,我想发送和ajax请求,检查数据库中是否存在凭证.我试过了:

$('#discount-voucher').keyup(function(event) {
    // Get the value
    let value = $(this).val()

    // Check if exists
    $.ajax({
        url: '{{ route('get-voucher') }}',
        type: 'POST',
        data: {_token: '{{ csrf_token() }}', code: value}
    })
    .done(function(data) {
        if (data == 'error') {
            $('span#voucher-error').text('????????? ??????')
        }
    })
    .fail(function() {
        console.log("error")
    })
    .always(function() {
        console.log("complete")
    })
})
Run Code Online (Sandbox Code Playgroud)

但是这些优惠券将通过电子邮件发送,让我们说用户复制粘贴它们.不起作用.并且使用更改功能,用户必须在输入外部单击或按Enter键才能使功能生效,我不希望我也不想要一个提示/提示"点击输入外部或按输入检查"如果凭证有效".所以我需要的东西就像更改功能一样,无需点击或按回车即可生效

joh*_*ith 7

有一个粘贴事件,您可以设置多个eventlisteners,如下所示:

$('#discount-voucher').on('keyup paste change', function () {
      //Do something  . . . .
});
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要限制ajax请求,以便通过键入不会经常调用它.