2016-12-14 52 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) 
     });;