Square支付表单无法在Firefox 48.0.2中执行requestCardNonce()以获取nonce

Square支付表单无法在Firefox 48.0.2中执行requestCardNonce()以获取nonce,firefox,square-connect,Firefox,Square Connect,我还向Square support提交了一份请求,希望能尽快得到回复 复制步骤 在Firefox 48.0.2(今天的最新版本)中加载Square支付表单(从中复制并添加应用程序ID,并取消对行的注释以向服务器提交请求)。以下是一个测试URL: 将所有字段留空 点击“提交查询”按钮 期望值 所有字段都应以红色突出显示,以表明它们是必需的 观察 Firefox无法触发事件requestCardNonce(),因为它未定义。Firefox控制台中的错误消息: ReferenceError:

我还向Square support提交了一份请求,希望能尽快得到回复

复制步骤

  • 在Firefox 48.0.2(今天的最新版本)中加载Square支付表单(从中复制并添加应用程序ID,并取消对行的注释以向服务器提交请求)。以下是一个测试URL:
  • 将所有字段留空
  • 点击“提交查询”按钮
期望值

  • 所有字段都应以红色突出显示,以表明它们是必需的
观察

  • Firefox无法触发事件requestCardNonce(),因为它未定义。Firefox控制台中的错误消息:

    ReferenceError: event is not defined
    requestCardNonce()    payment:121
    onclick()    payment:1
    
  • 表单以nonce=“”(空字符串或NULL)提交到服务器


不幸的是,我们在正在处理的文档中发布了一个bug。Firefox需要将事件作为参数传递给函数,而chrome和safari则不需要。如果将从示例复制的requestCardNonce的定义编辑为以下内容,则该定义应适用于您:

注意事件参数。这是你必须添加的部分。很抱歉给你带来了困惑。我们会修好文件的

编辑以包含截至2016-08-31 17:04:43的当前屏幕截图。这是脚本中需要向函数定义添加事件参数的位置,然后需要在submit按钮上向函数调用提供事件参数的位置

使用firefox在这两个地方都添加了事件,我在您的测试表单中获得了以下内容:


不幸的是,我们在正在处理的文档中发布了一个bug。Firefox需要将事件作为参数传递给函数,而chrome和safari则不需要。如果将从示例复制的requestCardNonce的定义编辑为以下内容,则该定义应适用于您:

注意事件参数。这是你必须添加的部分。很抱歉给你带来了困惑。我们会修好文件的

编辑以包含截至2016-08-31 17:04:43的当前屏幕截图。这是脚本中需要向函数定义添加事件参数的位置,然后需要在submit按钮上向函数调用提供事件参数的位置

使用firefox在这两个地方都添加了事件,我在您的测试表单中获得了以下内容:


我做了更改,但仍然没有生成nonce,表单仍然被提交。这里是控制台错误消息:
TypeError:event是未定义的test.html:6:1158 requestcardnoce()test.html:6 onclick()test.html:1
我看到文档已经更新,我相应地更新了我的测试表单,但仍然有一些东西阻止它在Firefox中工作。Square的人可以在Firefox中测试它,并激活Web Developer inspector,并观察控制台来复制问题吗?我已经有五个不同的Firefox用户报告了相同的问题。我不得不在我的制作付款单上贴一个通知,以使用不同的浏览器。啊哈!在两个地方!文档只在一个地方更新了它。它现在可以在Firefox中使用@tristansokol在您的文档中,您是否可以更新表单的输入以通过活动<代码>谢谢!我做了更改,但仍然没有生成nonce,表单仍然被提交。这里是控制台错误消息:
TypeError:event是未定义的test.html:6:1158 requestcardnoce()test.html:6 onclick()test.html:1
我看到文档已经更新,我相应地更新了我的测试表单,但仍然有一些东西阻止它在Firefox中工作。Square的人可以在Firefox中测试它,并激活Web Developer inspector,并观察控制台来复制问题吗?我已经有五个不同的Firefox用户报告了相同的问题。我不得不在我的制作付款单上贴一个通知,以使用不同的浏览器。啊哈!在两个地方!文档只在一个地方更新了它。它现在可以在Firefox中使用@tristansokol在您的文档中,您是否可以更新表单的输入以通过活动<代码>谢谢!
function requestCardNonce(event) {
  event.preventDefault();
  paymentForm.requestCardNonce();
}