获取xhttp.status = 0以便在我的Google电子表格中发布数据

时间:2016-05-27 11:07:17

标签: javascript google-chrome-extension google-apps-script xmlhttprequest

我是Chrome扩展新手。

我正在创建一个Chrome扩展程序,我需要将包含用户ID的数组存储为我的Google电子表格中的列。

下面是将数据发送到电子表格的代码。

var setStatus = 'inserting';
function createXHR() {  
    try {
        return new XMLHttpRequest();
    } catch (e) {
        try {
            return new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            return new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
}
$.each(caseIds, function(index, caseId){
    caseId = JSON.stringify(caseId);
    var postData = createXHR();
    postData.open('GET', trixUrl, true);
    postData.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    postData.onreadystatechange = function() {
        alert("The Readystate is :" +
          postData.readyState +
          " and the status is :"+postData.status
        );
    };
    postData.send("&CaseID="+caseId+"&flag="+setStatus);
}); 

以下是trixUrl路径

var trixUrl  = "https://script.google.com/a/macros/google.com/s/AKfycbw8pjHJau91KdlqMjQr9XEEoI_ZET2J3xXkL7e-fH-7/dev" 

AppScript代码:

function doGet(e) 
{
Logger.log(e);
var method, newvar, sheetObject, sheetOne;
var newvar = e.parameter.CaseID;
Logger.log(newvar);
var method= e.parameter.flag;
Logger.log(method);
}

我在AppScript日志中收到了以下错误

[16-05-27 04:03:37:622 PDT]{parameter{},contextPath=,contentLength=-1,queryString=null, parameters={}}
[16-05-27 04:03:37:623 PDT] undefined
[16-05-27 04:03:37:623 PDT] undefined

有人可以帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

根据此thread,在postData object

中检索帖子正文
function doPost(e) {
Logger.log(e.postData.getDataAsString());
}

您可以使用以下代码获取内容。

function doPost(request)
{      
  //Logger.log(request.getContentText("UTF-8"));

  // do something with the contents ...
  /*for (p in request.parameters)
  {

    Logger.log (p.toString());
  }*/

  var xmlDoc = Xml.parse(request.postData.contents );
}

检查此相关forum