【问题标题】:Uncaught DOMException: Failed to execute 'postMessage' on 'Window': NodeList object could not be cloned [duplicate]未捕获的 DOMException:无法在“窗口”上执行“postMessage”:无法克隆 NodeList 对象 [重复]
【发布时间】:2021-10-25 01:29:45
【问题描述】:

我正在尝试将 Flutterwave 支付集成到我的 nodejs 项目中,但我在 flutterwave 模式中不断收到“传递的无效电子邮件”和“未捕获的 DOMException:无法在 'Window' 上执行 'postMessage':无法执行 NodeList 对象克隆的。”在我的谷歌浏览器控制台中

<form method="POST" >
    <input type="hidden" value="<%- course.name %>" name="order[name]">
    <input type="hidden" value="<%- course.price %>" name="order[price]">
    <input type="hidden" value="<%- course._id %>" name="course_id">
    <input type="hidden" value="<%- currentUser.name %>" name="orderUser[name]">
    <input type="hidden" value="<%- currentUser.phone %>" name="orderUser[phone]">
    <input type="hidden" value="<%- currentUser.email %>" name="orderUser[email]">
    <input type="hidden" value="<%- currentUser.username %>" name="orderUser[username]">
    <input type="hidden" value="<%- currentUser._id %>" name="user_id">
    <script src="https://checkout.flutterwave.com/v3.js"></script>
    <button type="button" onClick="makePayment()">Pay Now</button>
</form>

这是flutterwave集成脚本

 <script>
    function makePayment() {
      FlutterwaveCheckout({
        public_key: public key here,
        tx_ref: ("KDA_" + Math.floor(Math.random() * 1000000000) + 1),
        amount: document.getElementsByName("order[price]").value,
        currency: "NGN",
        country: "NG",
        payment_options: " ",
        redirect_url: "http://localhost:8000/courses",
        meta: {
          consumer_id: document.getElementsByName('user_id'),
        },
        customer: {
          email: document.getElementsByName("orderUser[email]").value,
          phone_number: document.getElementsByName("orderUser[phone]".value),
          name: document.getElementsByName("orderUSer[name]").value,
        },
        callback: function (data) {
          console.log(data);
        },
        onclose: function() {
          // close modal
        },
        customizations: {
          title: "My store",
          description: "Payment for items in cart",
          logo: "http://localhost:8000/images/KDA%20logo.jpg",
        },
      });
    }
  </script>

【问题讨论】:

  • document.getElementsByName("orderUser[phone]".value) 多个级别错误

标签: javascript html node.js forms


【解决方案1】:

您只需将name 变量更改为id,因为document.getElementByName 返回一个NodeList,无法克隆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-26
    • 2019-03-10
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2014-06-15
    • 2019-08-16
    相关资源
    最近更新 更多