2016-12-14 94 views
1

我正在开发Gmail上下文小工具,现在我正面临Post Http通信问题。我没有任何问题获取请求,这里是我的获取请求代码:如何在Gmail上下文小工具中创建HTTP POST请求?

var mydata = {id:10,name:'sample1'};

var params = {}; 
var url = "https://myserver/handler/sample.ashx" + "?" + gadgets.io.encodeValues(mydata); 
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; 
params[gadgets.io.RequestParameters.AUTHORIZATION]=gadgets.io.AuthorizationType.SIGNED; 
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET; 

gadgets.io.makerequest(url,callback,params); 

但是,当我需要做岗位要求,我必须在服务器端得到MYDATA的问题。我检查了request.Params中的所有变量,request.QueryString,request.Form。什么也没有!

var mydata = { id: 10, name: 'sample1'}; 

var params = {}; 
var url = "https://myserver/handler/sample.ashx"; 
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; 
params[gadgets.io.RequestParameters.AUTHORIZATION]=gadgets.io.AuthorizationType.SIGNED; 
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST; 
params[gadgets.io.RequestParameters.POST_DATA] = mydata; 


gadgets.io.makerequest(url,callback,params); 

我的问题是什么?

回答

0

使用gadgets.io.encodeValues设置POST_DATA

params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata); 

或者隔离您的数据使用模式:

params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues({ 
      Gadget_Post_DATA: gadgets.json.stringify(mydata) 
     });;