发送JSON数组作为查询字符串在senchatouch2

问题描述:

我们应该送JSON数组或在任何情况下正常阵列作为查询字符串在senchatouch2发送JSON数组作为查询字符串在senchatouch2

+0

你是什么意思“作为查询字符串?” – 2013-04-11 05:12:53

+0

要访问web服务,我们将发送查询字符串参数knw – Annie 2013-04-11 06:04:37

+0

要在数据库中存储详细信息,我们必须使用WEBSERVICE来访问该数据库。使用POST方法,我将值作为QueryString发送到webserviceURL – Annie 2013-04-11 06:06:03

虽然我们使用POST方法发送参数煎茶Touch2采用jsonData在AJAX请求一样,

Ext.Ajax.request({ URL: '', 方法: 'POST', disableCaching:假, 标头:{ '接受': '应用/ JSON', '内容 - 类型': '应用/ JSON' }, jsonData:{ 姓:FNAME // { “姓”:[ “山姆”, “保”]}} , 成功:功能(响应) { console.log(response.responseText); }, failure:function(response) console.log(response.responseText); }, });

您只能在URL字符串发送,所以如果你有JSON然后使用Ext.JSON.encode使它是字符串,如果您有JS Array使用toStringjoin方法将数组附加到URL之前将其平铺。

既然你说查询字符串,所以我想你,而不是做POST请求。

[编辑] 看看你的评论似乎你想发送一些数据为创建服务,但在这种情况下,你不应该发送数据作为查询字符串,你应该发送它在消息正文。以下是例子,JSON数据发送给服务:

var obj = new Object(); 
obj.loginEntry = new Object(); 
obj.loginEntry.userid = username; 
obj.loginEntry.password = password; 
var data = Ext.JSON.encode(obj); 
Ext.Ajax.request({ 
     url : 'http://myserver:port/service/entity', 
     method : "POST", 
     headers: { 
      /* Important because default is 
      * Content-Type:application/x-www-form-urlencoded; charset=UTF-8 
      * which is not supported by service 
      */ 
      'Content-Type': 'application/json' 
     }, 
     params : data, 
     success : function(response) { 
     }, 
     failure : function(response) { 
     } 
    } 
); 

[/编辑]

+0

,我们不应该使用POST方法是吧? – Annie 2013-04-15 04:26:48

+0

如果我发送查询字符串作为阵列它传递为[“安妮”,“玫瑰”],但如果转换为字符串它传递为安妮,玫瑰这是正确的? – Annie 2013-04-15 05:21:28

+0

查看我的回答,我添加了示例代码以显示POST请求 – ThinkFloyd 2013-04-15 05:53:52