未捕获的 DOMException:无法在"窗口"上执行'postMessage':无法克隆 NodeList 对象



我正试图将flutterwave付款整合到我的nodejs项目中,但我一直在flutterwave模态上获得'传递的无效电子邮件'和"未捕获的DOMException:未能在'窗口'上执行'postMessage': NodeList对象无法克隆。"在我的Google chrome控制台

<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>

您所需要做的就是将name变量更改为id,因为document.getElementByName返回的是一个不能克隆的NodeList

最新更新