2015-07-12 100 views
0

请问我在Apps脚本中使用POST方法时出现了什么问题?Google Apps脚本中的POST方法

function myFunctionpost() { 
    var url = "mydomain.com/2spreadsheet.php"; 
    var data = { "testpost" : " Text text text" }; 
    var payload = JSON.stringify(data); 

var headers = { "Accept":"application/json", 
       "contentType" : "application/json", 
       "Authorization":"Basic _authcode_" 
      }; 

var options = { "method":"POST", 
      "contentType" : "application/json", 
      "headers": headers, 
       "payload" : payload 
      }; 

    var response = UrlFetchApp.fetch(url ,options); 
    Logger.log(response); 
} 

myFunctionpost()在应用程序脚本即将发布的JSON数据: “testpost” 的网址。

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    echo "Server is requested"; 

    if(isset($_POST["testpost"])){ 
     echo "Post something here"; 
     echo $_POST["testpost"]; 
    } 
} 

而且表明我要发布我张贴的数据,但它不工作的代码(2spreadsheet.php)。

的洛输出:

[15-07-12 14:06:00:205 HKT]

服务器请求

谁能告诉我是什么问题?

回答

0

您不必指定内容类型,可以省略JSON.Stringify。您的对象数据已经是一个JavaScript对象。它将被解释为一个HTML表单。

var url = "mydomain.com/2spreadsheet.php"; 
var data = { "testpost" : " Text text text" }; 

var options = { "method":"POST", 
       "payload" : data 
}; 

var response = UrlFetchApp.fetch(url ,options); 
Logger.log(response); 

内容类型将默认为application/x-www-form-urlencoded。你可以用$ _SERVER [“CONTENT_TYPE”]检查它。