0

Ich bin neu bei Chrome-Erweiterungen.bekommen xhttp.status = 0 für das Posten von Daten in meiner Google-Tabelle

Ich erstelle eine Chrome-Erweiterung, in der ich ein Array speichern muss, das die Benutzer-ID als Spalte in meiner Google-Tabelle enthält.

Unten ist der Code zum Senden von Daten an die Tabelle.

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

ist unter dem trixUrl Weg

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

AppScript Code:

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

Und ich bin immer unten Fehler in der AppScript log

[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 

Könnte jemand Bitte hilf mir bei der Lösung?

Antwort

0

Basierend auf dieser thread wird der Post-Körper in der postData object abgerufen.

function doPost(e) { 
Logger.log(e.postData.getDataAsString()); 
} 

Sie können den folgenden Code verwenden, um den Inhalt zu erhalten.

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

Überprüfen Sie dies in Bezug forum.

+0

Danke für die Eingaben abielita. Aber die Anfrage von der backrdound.js selbst kommt nicht zu den appscripts. –