任何人都有像我这样的案子吗?我必须将另一项服务连接到我的系统。问题是JS前端不支持服务(即使用angularJS)。显示服务形式我需要完成这样的jQuery表单:
<script type="text/javascript">
$(function() {
var data = new Object();
data.req_merchant_code = '1';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = '<?php echo $invoice ?>';
data.req_currency = '<?php echo $currency ?>';
data.req_amount = '<?php echo $amount ?>';
data.req_words = '<?php echo $words ?>';
data.req_form_type = 'full';
getForm(data);
});
</script>
就像你看到带有echo的那个PHP变量一样,任何人都可以帮助我将范围变量传递给那个jQuery。我设置了这个变量
$scope.dokuPayment = function(){
topUpFactory.createwordsDoku().then(function(data){
console.log(data.data);
var req = data.data;
$scope.invoice = req.invoice;
$scope.words = req.words;
$scope.currency = req.currency;
$scope.amount = req.amount;
console.log(invoice);
$("#doku-modal").modal('show');
});
}
我尝试将该范围放到像这样的参数
<script type="text/javascript">
console.log("form doku");
$(function() {
var data = new Object();
data.req_merchant_code = '3279';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = {{invoice}};
data.req_currency = {{currency}};
data.req_amount = {{amount}};
data.req_words = {{words}};
data.req_form_type = 'full';
getForm(data);
});
</script>
但不起作用..我尝试设置upperstroup(“”)仍然无法正常工作。谁都可以帮忙。 。感谢
答案 0 :(得分:0)
使用AngularJS时,请尝试避免以这种方式使用jQuery。
$(&#34;#铜工模态&#34)。模态(&#39;显示&#39); - 在这个框架中做这件事并不是一个好主意。
本文可能会提供一些指导:http://www.dwmkerr.com/the-only-angularjs-modal-service-youll-ever-need/
在$ scope.dokuPayment中,只要不直接操作DOM,你就可以执行getForm(data)所做的事情。
因此,您不必将任何数据传递给视图,因为整个JS逻辑应该位于Angular服务或控制器中。
答案 1 :(得分:0)
有简单的黑客,不确定它是否是好的做法!您可以使用 $ window 范围。 您需要做的就是使用 $ window。{变量名称} 为全局变量创建角度变量,并使用窗口从外部访问它们。{变量名称} 。
见这里:
$scope.dokuPayment = function(){
topUpFactory.createwordsDoku().then(function(data){
console.log(data.data);
var req = data.data;
$window.invoice = req.invoice;
$window.words = req.words;
$window.currency = req.currency;
$window.amount = req.amount;
console.log(invoice);
$("#doku-modal").modal('show');
});
}
AngularJS之外:
console.log("form doku");
$(function() {
var data = new Object();
data.req_merchant_code = '3279';
data.req_chain_merchant = 'NA';
data.req_payment_channel = '15'; // ‘15’ = credit card
data.req_transaction_id = window.invoice;
data.req_currency = window.currency;
data.req_amount = window.amount;
data.req_words = window.words;
data.req_form_type = 'full';
getForm(data);
});
这对我有用。希望这会有所帮助:)