【问题标题】:OpenLayers is making HTTP OPTION requests?OpenLayers 正在发出 HTTP OPTION 请求?
【发布时间】:2013-01-12 00:00:01
【问题描述】:

不久前,由于 stackoverflow,我让这个小提琴工作了:http://jsfiddle.net/AUbZn/16/ 现在它不再存在了:/

似乎无论出于何种原因,请求都以 OPTION 方法发送到雅虎。 这是相关部分,因为这个 url 正在被选择:

var layer = new OpenLayers.Layer.Vector("GML", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
    url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Fopenlayers.org%2Fdev%2Fexamples%2Fgml%2Fpolygon.xml'",
    format: new OpenLayers.Format.GML(),
}),
eventListeners: {
    "featuresadded": dataLoaded
},
});

知道为什么以及如何纠正它吗?

【问题讨论】:

    标签: javascript http openlayers yql gml


    【解决方案1】:

    找到了解决办法:)

    在此示例之后使用 OpenLayers.Protocol.Script 而不是 OpenLayers.Protocol.HTTP:http://openlayers.org/dev/examples/cross-origin-xml.html

    工作代码:

    var layer = new OpenLayers.Layer.Vector("GML", {
        strategies: [new OpenLayers.Strategy.Fixed()],
        protocol: new OpenLayers.Protocol.Script({
            url: "http://query.yahooapis.com/v1/public/yql",
            params: {
                q: "select * from xml where url='http%3A%2F%2Fopenlayers.org%2Fdev%2Fexamples%2Fgml%2Fpolygon.xml'",
            },
            format: new OpenLayers.Format.GML(),
            parseFeatures: function(data) {
                return this.format.read(data.results[0]);
            },
        }),
        eventListeners: {
            "featuresadded": featuresLoaded
        },
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多