0
我是新来的方形支付表格集成。我正在根据https://docs.connect.squareup.com/articles/adding-payment-form上的文档整合表单。当我将表单嵌入单个页面时,它工作正常,但是当我在ajax中加载表单脚本时,它显示错误“ReferenceError:SqPaymentForm未定义”。有人请告诉我一种将表单嵌入ajax的方法。平方pos卡支付表格集成在ajax
我是新来的方形支付表格集成。我正在根据https://docs.connect.squareup.com/articles/adding-payment-form上的文档整合表单。当我将表单嵌入单个页面时,它工作正常,但是当我在ajax中加载表单脚本时,它显示错误“ReferenceError:SqPaymentForm未定义”。有人请告诉我一种将表单嵌入ajax的方法。平方pos卡支付表格集成在ajax
这里的问题是,你可能尝试运行在页面上的JavaScript(即具有类似var paymentForm = new SqPaymentForm({...
外部库加载之前。
如果您正在加载的https://js.squareup.com/v2/paymentform
异步,你需要延迟JavaScript页面的执行直到外部库加载完成后,你可以通过onload事件来完成这个工作,或者等到页面完全加载(或者很多其他的方法,搜索“在异步之后延迟javascript”,但是最简单的方法是只是同步加载库。
感谢您的回复 – Anand
我试过这个 'function loadJavaScriptSync(filePath){ \t var req = new XMLHttpRequest(); \t req.open(“GET”,filePath,false); //'false':同步。 \t req.send(null); \t var headElement = document.getElementsByTagName(“head”)[0]; \t var newScriptElement = document.createElement(“script”); \t newScriptElement.type =“text/javascript”; \t newScriptElement.text = req.responseText; \t headElement.appendChild(newScriptElement); } \t \t \t \t \t loadJavaScriptSync( “https://js.squareup.com/v2/paymentform”);' 然后称为'变种paymentForm =新SqPaymentForm' 现在在控制台的网络错误。 – Anand
也得到了这个**主线程上的同步XMLHttpRequest已被弃用,因为它对最终用户的体验有不利影响。更多帮助http://xhr.spec.whatwg.org** – Anand