我正在尝试使用以下网址通过网址传递参数:setParams({id:id,model:mod})
,并在浏览器的地址栏中看到localhost/MVC/query?id=1&model=member
。它很成功。
但我想传递url栏中的参数:localhost/MVC/query?fq=model: member+model:new_member
。我正在尝试集成“Solr”搜索服务器,这是支持过滤查询的语法。
任何帮助表示感谢。
答案 0 :(得分:0)
请查看Button#getHref()
:
getHref: function() {
var me = this,
params = Ext.apply({}, me.baseParams);
params = Ext.apply(params, me.params);
return me.href ? Ext.urlAppend(me.href, Ext.Object.toQueryString(params)) : false;
},
和toQueryString()
:
toQueryString: function(object, recursive) {
...
for (j = 0, ln = paramObjects.length; j < ln; j++) {
...
params.push(encodeURIComponent(paramObject.name) + '=' + encodeURIComponent(String(value)));
}
return params.join('&');
},
所以我认为你应该为toQueryString
编写一个新版本,假设toSolrQueryString
使用:
代替= +
代替&
。最后,您在Button中覆盖getHref()
以使用toSolrQueryString
功能。请记住,返回应该是:
return me.href ? Ext.urlAppend(me.href, 'fq=' + toSolrQueryString(params)) : false;