2017-10-25 11 views
1

私は流星のアプリを開発しています。それはうまくいきましたが、どこかで奇妙な誤りが出ました。私は私の流星の方法をすべて定義したサーバーフォルダの下にファイルを持っています。私はクライアント側からMeteor.callを使って呼び出しています。サーバ上の流星のメソッドが呼び出されていない

問題は、サーバーメソッドをもう呼び出すことができないことです。

HTMLコード:

<section class="body_section"> 
     <form> 
      <div class="container"> 

      <div class="box"> <h2 class="verify_number">Verify your phone number</h2></div> 
      <div class="box"> <p class="center_txt"> We will send an SMS message to verify your phone number. </p></div> 
      <div class="box"> <span class="isdcode">+ 91</span><input myattr="mobileNo" type="tel" class="input-txt signin" id="signin" name="mobNumber" placeholder="Mobile Number" pattern="[6789][0-9]{9}" onKeyUp="numbersonly()" value ='' required> 
      </div> 
      </div> 
      <footer class="signformFooter"> 
      <div class="container"> 
       <input type="submit" class="next_btn" id="verifyNumber" value="NEXT"/> 
      </div> 
      </footer> 
     </form> 
    </section> 

はJS対応するイベントコード:

'submit form' : function(event){ 
    event.preventDefault(); 

    var numb = '+91' + event.target.mobNumber.value; 

if(confirm('OTP would be sent to ' + numb)){ 
    Meteor.call("sendSMS", numb, function(error, res){ 
     if(!error){ 
     Router.go('verifyMobile',{ 
      mobNo : numb 
     }); 
     } 
     else 
     alert(error) 
    }); 
} 
} 

サーバー側のコード:

sendSMS : function(mobile){ 
    var otp = UserOTP.findOne({mobNo : mobile}); 
    if(otp == undefined){ 
     otp = Math.floor(Math.random()*9000) + 1000; 
     UserOTP.insert({ 
      mobNo : mobile, 
      OTP : otp, 
      createdAt : new Date() 
     }) 
    } 
    else 
     otp = otp.OTP; 
    var msg91 = require("msg91")("", "", ""); 
    var message = '4 Digit Verification Code for kNOwDoubt ' + otp; 

    msg91.send(mobile, message, function(err, response){ 
     if(err){ 
      console.log('otp not sent to : ' + mobile + " " + err); 

     } 
     else{ 
      console.log('otp ' + otp + ' sent to ' + mobile + ' with transactional route ' + response); 

     } 
    }); 


    return true; 
}, 

番目の符号に続いて

は作業罰金昨日e奇妙なことは、アプリケーションがWebブラウザ上で完全に正常に動作していることです。問題はアンドロイドでアプリを実行したときだけです(まだiOSでテストされていません)。

流星バージョン:1.5

アンドロイド上で実行するコマンド:sudoの-E流星の実行のAndroidデバイス--allow-スーパー--settingsサーバ/ settings.json

私は、私は非常に些細なを持って信じてどこかのエラー。どんな助けもありがとう。

ありがとうございます!

+2

私はconsole.logをコードの流れをチェックするために入れ、サーバー側の 'sendSMS'は呼び出されません。 – user3807691

+0

あなたは 'Meteor.method'ステートメントをどこで宣言しましたか?ブラウザのコンソールでエラーが発生したかどうかを確認してください。 –

+0

私は別のマシン(PC)でアプリを走らせました。そこにはうまくいった。問題はSDKバージョンで発生しました。以前のバージョンのsdkを削除して再インストールしました。今うまく働いている – user3807691

答えて

1

私は別のマシン(PC)でアプリを実行しました。そこにはうまくいった。問題はSDKバージョンで発生しました。以前のバージョンのsdkを削除して再インストールしました。今すぐうまくいきます

関連する問題