2016-12-22 27 views
1

サーバー側から返されたjson応答を処理しようとしています。そのためにサーバー側からの応答が成功した場合に実行されるコールバック関数を設定しました。それをパラメータとして受け入れることによってサーバー応答をさらに処理しますが、それは機能しません。サーバー側の関数が正常に返ってもコールバック関数が実行されていません

これは私のhtmlコードです:

<form id="EditorsForm"> 
    UserName:<br> 
    <input type="text" name="uname" id="uname"> 
    <br> Password: 
    <br> 
    <input type="password" name="password" id="password"> 
    <br><br> 
    <input type="button" value="Submit" onclick="google.script.run.withSuccessHandler(onSuccess).verifyUser(this.form)"> 
</form> 

これは私のコールバック関数

function onSuccess(response) { 
    alert(response); 
} 

成功したJSONレスポンスを返すこれは私のアプリスクリプトです。

function verifyUser(EditorsForm) {  
    var uname = EditorsForm.uname; 
    var password = EditorsForm.password; 

    login_api = "http://api.abcbrain.in/operations/login.php?userName=" + uname + "&password=" + password + "&referrer=ePlugin"; 
    var resp = UrlFetchApp.fetch(login_api); 
    var json = resp.getContentText(); 
    var data = JSON.parse(json); 
    return data; 
} 

答えて

1

私はちょうど私が思う、次のように、verifyUserにハードコードされたJSONで()関数をあなたのコードをテストし

function verifyUser(EditorsForm){ 

    var uname=EditorsForm.uname; 
    var password=EditorsForm.password;  

    /*login_api="http://api.smsbrain.in/operations/login.php?userName="+uname+"&password="+convertSign(password)+"&referrer=excelPlugin";      
    "http://api.smsbrain.in/1.2/appsms/brandStatus.php?user="+uname+"& passwd="+password+"&senderId="+sid+""; 
    var resp=UrlFetchApp.fetch(login_api); */ 

    var json = '{"resp1":"test"}';//resp.getContentText(); 
    var data = JSON.parse(json); 
    Logger.log(data) 
    return data; 
} 

、それは

enter image description here

私に適切な結果を与えているしています問題はUrlFetchAppで例外をスローする必要があります。例外をスローしていないことを確認するために "try catch block"を使うことができますか?

+0

私はtry..catchで試してみましたが、例外は発生していません。すべてが正しかったようですが、コールバックは共鳴しません。 –

+0

あなたは有界HTMLファイルを使用していますか?そうでなければ、その場合にはうまくいかないでしょう。コースの – Shiva

+0

、私は有界HTMLファイルを使用しています。 –

関連する問題