如何修复“ TypeError:无法调用未定义的方法” trim”

时间:2019-09-06 20:14:53

标签: google-apps-script google-sheets typeerror

我正在Google表格中使用应用程序脚本在B列中提供状态代码,以获取A列中的URL列表(即www.test.com >>>返回404、300、200等)。直到今天,代码仍然可以正常工作,但是现在抛出错误:

function getStatusCode(url){
var options = {
 'muteHttpExceptions': true,
 'followRedirects': false
};
var url_trimmed = url.trim();
var response = UrlFetchApp.fetch(url_trimmed, options);
return response.getResponseCode();
}

这是错误:

  

TypeError:无法调用未定义的方法“ trim”。 (第6行,文件“代码”)

自昨天以来没有任何变化,所以我不确定这是Google的问题还是其他原因。我的应用程序知识非常有限,请客气:D

2 个答案:

答案 0 :(得分:0)

trim()String.prototype的方法,这意味着,在这种情况下,url的值应该是字符串文字,String类型的对象或具有toString(),因此可以在需要时返回String值。

考虑到上述情况,由于url不满足上述条件而发生错误。

答案 1 :(得分:0)

假设其他所有方法都可以,请尝试以下操作:

function getStatusCode(url){
  var url=url||'default url...you fill this in with your url and run it from script editor'
  var options = {
   'muteHttpExceptions': true,
   'followRedirects': false
};
  if(url) {
    var url_trimmed = url.trim();
    var response = UrlFetchApp.fetch(url_trimmed, options);
    Logger.log(response.getReponseCode());
    return response.getResponseCode();
   }else{
      SpreadsheetApp.getUi().alert('Invalid or Missing Url');
   }
}