奇怪的收到数据

时间:2018-03-31 23:21:52

标签: jquery google-apps-script

我尝试将一些数据发送到我的Google脚本(我只是学习它是如何工作的)但我明白我得到了什么。

第一个cdoe。 我本地计算机上的Spimple(用于测试)页面。

test6.html

<!DOCTYPE html>
<html lang='pl'>
  <head>
    <meta charset='utf-8'>
  </head>
  <body>
  <div onclick ="A1()"> TEST </div>
  </body>
   <script
  src="http://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
  <script type="application/javascript">
  
  $.ajaxSetup({
			url: "https://script.google.com/macros/s/****/exec",
			type: "post",
			
			
	});
	function A1() {
		
		var d1 = { test1 : "pass1" };
        var d2 = JSON.stringify(d1);
	   
				
	    var res = $.ajax ({			
			data: d1
		});
		
		res.done(function (odpserv, textStatus, jqXHR) {			
				 console.log(odpserv);
				 console.log(textStatus);
				 console.log(jqXHR);
				});			
	}
	
  </script>

code.gs

function doPost(e){
  
 var SS = SpreadsheetApp.openById('****');
 var sh = SS.getSheetByName('A');
                
 sh.appendRow([e]);
       
 return ContentService.createTextOutput("OK").setMimeType(ContentService.MimeType.JSON);
  
}

1。  如果我通过jQuery数据发送 - d1 - 我希望能够回复:

{ test1 : "pass1" } 

但我活着

{parameter={test1=pass1}, contextPath=, contentLength=11, queryString=, parameters={test1=[Ljava.lang.Object;@45c41746}, postData=FileUpload}

如果我发送d2 i recive

{parameter={{"test1":"pass1"}=}, contextPath=, contentLength=17, queryString=, parameters={{"test1":"pass1"}=[Ljava.lang.Object;@7ec35331}, postData=FileUpload}

有人可以解释一下吗? 为什么我会收回一些额外的parmet?

  1. 如果我发送d1 var d1 = { test1 : "pass1" }; 所以在code.gs中我可以通过以下方式获取数据:
  2. var r1 = e.parameter.test1 // pass1

    发送时发送消息 var d2 = JSON.stringify(d1);

    var r1 = e.parameter.test1 // undefined

    我应该如何获取已回收的数据?

1 个答案:

答案 0 :(得分:0)

如果您不知道要找什么,就永远找不到它

回答/问题:

发布数据Google隐藏在parameters

要阅读它使用: e.postData.contents

INFO