javascript - jQuery ajax 动态拉取参数值

标签 javascript jquery ajax

想知道是否有办法在不使用超时的情况下做到这一点。

现在我有一个 ajax 请求,它通过外部 js 提取 token 。我无法完全控制该脚本,因为它是由第三方提供的。

所以它基本上执行一个ajax请求并向我传回一个 token 值。然后,我获取该值并用它更新表单输入。

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

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

resonseData 从此脚本传回给我..

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

            });
        }

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

有没有办法解决这个问题并设置超时?我认为通过添加像上面这样的回调可以解决这个问题,但显然它没有。

我还有 event.preventDefault();在表单上单击处理程序,但是当启用该处理程序时,第 3 方脚本根本不会执行。因此基本上只需要在 payment_token 值已更新的情况下提交表单。

最佳答案

如果我没看错的话,这看起来更像是一个秩序问题。 responseData.dataValue 有值,否则 if 条件不会被处理。

您的代码应如下所示:

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. */
    }

关于javascript - jQuery ajax 动态拉取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40700819/

相关文章:

javascript - 根据另一个选择器中的值动态填充一个选择器

javascript - IE 中的事件传播

javascript - 来自 iFrame 的 postMessage 不再适用于本地 CRM 2016

javascript - 使用 RESTANGLE 根据 AngularJs 上的 url 参数检索记录

javascript - 加载 angular2-infinite-scroll 时遇到困难

Javascript - 箭头函数在事件处理程序中?

javascript - 如何在 JSF 中使用 jQuery?

php - 使用 AJAX 检查 PHP session 是否存在或过期

javascript - 使用 AJAX 请求的 API 没有响应

javascript - 我如何在 magento 的单个产品弹出窗口中加载数据