我使用YQL使用JSONP獲取數據,並返回一個XML字符串。我使用$.parseXML
解析它,並將其放入jQuery選擇器中,並嘗試選擇一個節點。但是,它包含一個名稱空間(例如,yweather:
),並且jQuery似乎無法正常工作。在jQuery中選擇一個具有名稱空間的節點
從other SO answers他們建議做\\:
會解決它。確實如此,但只有當我接收到的數據是XML(我是JSONP。)
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql",
data: {
q: "select item from weather.forecast where location=48907",
format: "jsonp"
},
dataType: "jsonp"
}).success(function(data){
var xml = $.parseXML(data.results[0]);
console.log($("yweather\\:condition", xml));
});
它沒有匹配。
可以從YQL中的同一張表中獲取數據,而不是xml結果,而不是xml ...親自可以更容易地使用IMO。轉到[YQL控制檯](http://developer.yahoo.com/yql/console/#h=select+*+from+weather.forecast+where+location%3D48907)並選擇'json'格式並記下json格式添加到控制檯 – charlietfl
演示中生成的URL在密歇根州相同的位置,數據全部在json http://jsfiddle.net/faNaM/ – charlietfl
@charlietfl - 我只注意到YQL允許跨源請求,謝謝。 –