我在magento2的支付模块中添加第三方javascript代码时遇到问题。
以下是我的代码。
define(
[
'Magento_Payment/js/view/payment/cc-form',
'jquery',
'Vendorname_Modulename/js/stsdk'
'Magento_Payment/js/model/credit-card-validation/validator'
],
function (Component, $, STDirect) {
'use strict';
return Component.extend({
defaults: {
template: 'Vendorname_Modulename/payment/module-form'
},
getCode: function() {
return 'vendor_module';
},
isActive: function() {
return true;
},
validate: function() {
STDirect.setupSDK('23842', "testnumber", 'typeofenv');
STDirect.card.createToken(number, exp_month, exp_year, ccv, function (result) {
var secretkey = '';
if(result.status==0){
secretkey = result.card.secretkey;
}
document.write(JSON.stringify(result));
alert(secretkey);
});
var $form = $('#' + this.getCode() + '-form');
return $form.validation() && $form.validation('isValid');
}
});
}
);
我已尝试过上面的代码,stsdk.js已加载到网络中,但它给了我以下错误:
ReferenceError: STDirect is not defined
STDirect.setupSDK('23842', "testnumber", 'sandbox');
我还在标题中加载了这个js文件,但是出现了同样的错误。
我的问题是如何在定义范围内执行第三方javascript代码。 我在定义函数后尝试使用自定义javascript函数,但它也无法从validate函数调用,当我在define函数中使用require []函数时会引发错误。
我感谢任何帮助。