我们应该在senchatouch2中发送 json数组或普通数组作为查询字符串
答案 0 :(得分:0)
在任何情况下你只能在URL中发送字符串,所以如果你有JSON然后使用Ext.JSON.encode使它成为字符串,如果你有JS数组使用toString
或join
方法来展平将数组附加到URL之前的数组。
既然你说querystring所以我想你并且没有做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) {
}
}
);
[/编辑]
答案 1 :(得分:0)
虽然我们使用POST方法在Sencha Touch2中发送参数,但在Ajax请求中使用 jsonData ,
Ext.Ajax.request({ 网址: '', 方法: 'POST', disableCaching:假的, 标题:{ '接受': '应用/ JSON', “内容类型”:“应用/ JSON” }, jsonData :{ FirstName:fname // {“FirstName”:[“Sam”,“paul”]} }, 成功:功能(响应) { 的console.log(response.responseText); }, 失败:功能(响应) { 的console.log(response.responseText); }, });