2016-12-22 2 views
1

Ich versuche, die JSON-Antwort, die von der Server-Seite zurückgegeben.Für, dass ich Callback-Funktion, die bei erfolgreicher Antwort von der Server-Seite ausgeführt werden, und ausgeführt werden Verarbeiten Sie die Serverantwort weiter, indem Sie sie als Parameter akzeptieren, aber sie funktioniert nicht.Callback-Funktion läuft nicht auch die Server-Side-Funktion erfolgreich

Dies ist mein HTML-Code:

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

Dies ist meine Callback-Funktion

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

Das ist meine App-Skript, das erfolgreich json Antwort zurückgibt.

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

Antwort

1

Ich habe gerade Ihren Code mit fest codierten JSON in VerifyUser getestet() Funktion wie folgt,

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

und es gibt mir richtiges Ergebnis

enter image description here

ich denke, die Problem ist mit UrlFetchApp es muss eine Ausnahme auslösen. kannst du einfach "try catch block" verwenden, um sicherzustellen, dass es keine Ausnahme auslöst.

+0

Ich versuchte mit try..catch und es gibt keine Ausnahme .. alles scheint nur in Ordnung, aber Rückruf ist nicht resoniert. –

+0

Sie verwenden eingeschränkte HTML-Datei? wenn nicht, wird es in diesem Fall nie funktionieren. – Shiva

+0

Natürlich verwende ich begrenzte HTML-Datei. –

Verwandte Themen