我试图从formPanel中的组合框中获取一个值,以将其传递给协议网址(openlayers.protocol.http)。这是基于http://jsbin.com/ireqed/2/edit的网址,我希望得到(在我选择"汽车"在组合框中并输入" cool" in文本字段):
http://www.mop.org/fs/cars?format=GeoJSON&comments__ilike=cool&queryable=comments
经过测试,我最终可以在组合框中选择一个值并在textfield中输入一个单词后得到我想要的URL(如上所述)。
要在formPanel中的协议中发送这个新URL,我在搜索按钮的处理函数中使用autoLoad调用,我认为这是发送url但它没有被协议本身捕获(即。对于ExtJS,XMLHttpRequest.js)。因此,GeoJSON输出显示在formPanel中。我附上了三张PNG来显示:,,。
在萤火虫中,一旦“搜索”'按下按钮会调用两个URL,第一个是我想在协议的url中替换的URL,但它会转到ext-base.js,这是错误的地方。第二个,我实际上不知道为什么被发送,转到XMLHttpRequest.js,这是正确的地方,但它不应该被发送。
所以,在首先发送url之前,我需要更改它,我该怎么办呢?顺便说一句,在我看来它正在取代一个属于ExtJS的不存在的网址,请帮忙,谢谢
更新#1:
越来越近了...因为在处理函数中添加OpenLayers.loadURL(myurl, {}, null, function(response){});
会将URL发送到XMLHttpRequest.js(正确的位置),但只是立即将另一个url(来自formpanel)发送到同一个地方,这包括正确的,有没有办法为openlayers.loadurl函数添加一些时间?我理解这个函数是异步工作的(为什么它比第二个更快并且首先提交),有没有办法只覆盖第二个?