jQuery ajax参数值动态拉出

时间:2016-11-20 04:48:53

标签: javascript jquery ajax

想知道在没有使用超时的情况下是否有某种方法可以做到这一点。

现在我有一个ajax请求,通过外部js提取令牌。我没有完全控制第三方提供的脚本。

所以它基本上是一个ajax请求,并将一个令牌vaule传回给我。然后我获取该值并使用它更新表单输入。

我的问题是表单在有时间完全获取值之前提交,因此值永远不会传递。

我有一些响应可以使用这个第三方脚本提供的,现在我正在做类似的事情。

resonseData从这个脚本传回给我..

  if(responseData.dataValue !='') {
            $('[name=payment_token]').val(responseData.dataValue, function(){
                $("#userPaymentUpdate").submit();

            });
        }

^问题是表单在有时间更新$('[name = payment_token]')之前提交.val()

是否有任何方式将此放在一边暂停?我想通过添加上面的回调可以解决它,但显然它没有。

我也有event.preventDefault();在表单上单击处理程序,但是当它启用第三方脚本时根本不会执行。因此,如果pay_token值已更新,则基本上只需提交表单。

1 个答案:

答案 0 :(得分:1)

如果我正确地阅读此内容,它看起来更像是一个订单问题。 responseData.dataValue具有值,否则如果条件不会被处理。

您的代码应如下所示:

if(responseData.dataValue !='') {
        $('input[name=payment_token]').val(responseData.dataValue); /* I'm guessing you're using a hidden field for the payment token. */
        $("#userPaymentUpdate").submit(); /* at this point, the value will have already been assigned. */
    }