我不明白下面的 responseHandler 函數(shù)是如何在提交付款表單后從 API 調(diào)用接收響應(yīng)的。以下是代碼的簡(jiǎn)要摘要:var PaymentThing = function(e) { this["clientCallback"] = e; return { createToken: function() { // HTTP GET URL is generated and then an HTML script element is appended to the page head var a = "https://example.com/securitytoken?creditcard=xxxx?callback=PaymentThing.callback"; var f = document.createElement("script"); f.src = a; document.getElementsByTagName("head")[0].appendChild(f) }, callback: function(e) { this["clientCallback"](e.status, e.results) } }}var responseHandler = function(status, response) { // How does this even work? console.log(response, status);}// Form SubmissionjQuery('#checkout_payment_form').submit(function() { PaymentThing.createToken(responseHandler);}所以我的問題是,responseHandler函數(shù)如何接收來自HTTP GET調(diào)用的響應(yīng)?在我看來,HTTP調(diào)用甚至沒有被進(jìn)行。我只看到一個(gè)URL被添加到HTML腳本元素(使用createToken函數(shù)),URL甚至從未被調(diào)用/執(zhí)行(但不知何故?)。另外,當(dāng)我沒有看到(狀態(tài),響應(yīng))參數(shù)被傳遞到響應(yīng)處理程序函數(shù)調(diào)用中時(shí),它們?nèi)绾蝹鬟f到響應(yīng)處理程序函數(shù)中?我不明白這里的操作邏輯或順序,任何人都可以解釋一下發(fā)生了什么嗎?編輯:好的,我想我現(xiàn)在看到了響應(yīng)處理程序函數(shù)如何接收狀態(tài)和響應(yīng)參數(shù)。我編輯了上面的代碼,以顯示生成的HTTP URL中有一個(gè)回調(diào)函數(shù)。但是,該URL是如何被調(diào)用的?在我看來,它仍然像是惰性的,并且被卡在頁面的HTML中并且沒有激活。
將 Javascript 函數(shù)作為參數(shù)傳遞 - 此邏輯如何工作?
慕桂英546537
2022-08-27 14:10:44
