0

我正在尝试从示例 WMS 的 GetFeatureInfo 获得响应。但是得到 “无法加载http://ogi.state.ok.us/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&SRS=EPSG:4326&BBOX=-104.5005,32.7501,-94.01,37.20&WIDTH=800&HEIGHT=300&LAYERS =ogi:okcounties&QUERY_LAYERS=ogi:okcounties&STYLES=&X=550&Y=105&状态:0"

var httpurl = "http://ogi.state.ok.us/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&SRS=EPSG:4326&BBOX=-104.5005,32.7501,-94.01,37.20&WIDTH=800&HEIGHT=300&LAYERS=ogi:okcounties&QUERY_LAYERS=ogi:okcounties&STYLES=&X=550&Y=105&";              
try {
              require(["dojo/request"], function (request) {
                  var promise = request(httpurl);

                  promise.response.then(
                      function (response) {
                          var kk = response;
                      },
                      function (error) {
                          var kk = error;
                      }
                  );
              });
          } catch (ex) {
              alert(ex.message);
          }
4

1 回答 1

0

我看到了几个潜在的问题:

  1. 根据请求文档,我认为您应该.then()直接调用您的承诺。像这样:

    承诺.then(...);

  2. 在这一行:var kk = data;...您正在使用变量data,但您应该使用response.

  3. 您可能遇到了 CORS 问题 - 您的代码是否与该 URL 在同一个域上运行?如果没有,并且网站所有者不想为您的域启用 CORS,您可能需要运行 CORS 代理(google it)

于 2017-01-04T15:51:44.400 回答