2016-10-26 12 views
1

誰も私のようなケースはありますか?私は私のシステムに別のサービスを接続する必要があります。問題はサービスがJSフロントエンドでサポートされていないことです(imはangularJSを使用しています)。私はこのようなjQueryのフォームを完了するために必要なサービスのためのフォームを表示する:角度範囲を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> 

あなたは、エコーとそこにいるPHP変数を参照してくださいように、誰も私がそのjQueryのにスコープ変数を渡すのを助けることができます。私はまだいません(「」)upperstroup設定しようとする。これ

<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> 

ようparametesにそのスコープを入れしようとしたが動作しません。この

$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'); 
      }); 
     } 

のようにその変数を設定します作業。誰でも手伝うことができます。 。ありがとう

答えて

0

AngularJSを使用する場合は、そのようにjQueryを使用しないでください。

$( "#doku-modal")。modal( 'show');このフレームワークでそれを行うのは良い考えではありません。 http://www.dwmkerr.com/the-only-angularjs-modal-service-youll-ever-need/

は$ scope.dokuPaymentでは、あなたが潜在的をgetForm(データ)であれば、直接DOMを操作しないと何をするか同じことを行うことができます

この記事では、いくつかのガイダンスを与える可能性があります。

結果として、JSロジック全体がAngularサービスまたはコントローラに存在する必要があるため、ビューにデータを渡す必要はありません。

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); 
    }); 

働いていました。希望がこれを助ける:)

関連する問題