Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使服务器端函数成功返回,回调函数也未运行_Javascript_Json_Google Apps Script - Fatal编程技术网

Javascript 即使服务器端函数成功返回,回调函数也未运行

Javascript 即使服务器端函数成功返回,回调函数也未运行,javascript,json,google-apps-script,Javascript,Json,Google Apps Script,我正在尝试处理从服务器端返回的json响应。为此,我设置了回调函数,该函数将在服务器端成功响应时执行,并通过接受它作为参数来进一步处理服务器响应,但它不起作用 这是我的html代码: <form id="EditorsForm"> UserName:<br> <input type="text" name="uname" id="uname"> <br> Password: <br> <in

我正在尝试处理从服务器端返回的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>
这是我的应用程序脚本,它返回成功的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;
}

我刚刚在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;
}
它给了我正确的结果


我认为问题在于UrlFetchApp,它一定抛出了一个异常。您可以使用“try-catch-block”来确保它没有抛出任何异常。

我使用try..catch进行了尝试,但没有出现任何异常。.一切似乎都正常,但回调没有响应。您使用的是有界HTML文件吗?当然,我使用的是有界HTML文件。
 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;
}