Странные полученные данные

Я пытаюсь отправить данные в свой скрипт 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.info(odpserv);
				 console.info(textStatus);
				 console.info(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, я получу

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

Кто-нибудь может это объяснить? Почему я получаю дополнительные парметры?

  1. Если я отправлю d1 var d1 = { test1 : "pass1" }; поэтому в code.gs я могу брать данные:

var r1 = e.parameter.test1 // pass1

бу, когда я отправляю var d2 = JSON.stringify(d1);

var r1 = e.parameter.test1 // undefined

Как мне получить полученные данные?

Неудивительно, что если вы строковите ввод перед его отправкой, он не будет восприниматься как объект. Таким образом, при отправке d2 вы должны сначала де стрингировать: var d1 = JSON.parse(e.parameter); var r1 = d1.test1;

tehhowch 01.04.2018 03:38

Все еще что-то не так. <code> var d1 = {test1: "pass1"}; var d2 = JSON.stringify (d1); </code> Если я отправлю "d2", <code> var d1 = JSON.parse (e.parameter); </code> выдает ошибку <code> Неожиданный токен: o, SyntaxError </code>

Chora Poczta 01.04.2018 16:45
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
2
53
1

Ответы 1

Если вы не знаете, что искать, вы никогда этого не найдете

Ответ / вопрос:

Опубликовать данные Google скрыть в parameters

Чтобы прочитать это, используйте: e.postData.contents

ИНФОРМАЦИЯ

Другие вопросы по теме