Нов съм в интегрирането на формуляра за квадратно плащане. интегрирам формуляра според документацията на https://docs.connect.squareup.com/articles/adding-payment-form .когато вграждам формуляра на отделна страница, той работи добре, но когато зареждам скриптовете на формуляра в ajax, той показва грешката " ReferenceError: SqPaymentForm не е дефиниран ". моля някой да ми предложи начин за вграждане на формуляра в ajax.
square pos карта форма за плащане интеграция в ajax
Отговори (1)
Проблемът тук е, че вероятно се опитвате да стартирате javascript на страницата (която има нещо като var paymentForm = new SqPaymentForm({...
преди външната библиотека да се зареди.
Ако зареждате https://js.squareup.com/v2/paymentform
асинхронно, ще трябва да отложите изпълнението на javascript на страницата, докато външната библиотека не се зареди. Можете да направите това чрез събития при зареждане или изчакване, докато страницата се зареди напълно (или много други начини, потърсете „отлагане на javascript след async“, но най-лесният начин би бил просто да заредите библиотеката синхронно.
person
tristansokol
schedule
06.04.2017
пробвах това
function loadJavaScriptSync(filePath){ var req = new XMLHttpRequest(); req.open("GET", filePath, false); // 'false': synchronous. req.send(null); var headElement = document.getElementsByTagName("head")[0]; var newScriptElement = document.createElement("script"); newScriptElement.type = "text/javascript"; newScriptElement.text = req.responseText; headElement.appendChild(newScriptElement); } loadJavaScriptSync("https://js.squareup.com/v2/paymentform");
след това извиках var paymentForm = new SqPaymentForm
сега в конзолата мрежова грешка.
- person Anand; 07.04.2017
получих и това Синхронният XMLHttpRequest в главната нишка е остарял поради вредното му въздействие върху изживяването на крайния потребител. За повече помощ xhr.spec.whatwg.org
- person Anand; 07.04.2017
Това, което правите, всъщност не е синхронно. Просто включете
<script type="text/javascript" src="https://js.squareup.com/v2/paymentform"></script>
в head
на вашата страница
- person tristansokol; 08.04.2017