0

理由はわかりませんが、別のgetJsonが呼び出された後に$ .getJSONを呼び出しても、何も起こらないようです。コードは次のとおりです。

getWeather();

function getWeather() {
    $.getJSON("http://where.yahooapis.com/geocode?q=" + lat + ",+" + lon + "&gflags=R&flags=J", function(data){
        zipCode = data.ResultSet.Results[0].postal;
        WOEID = data.ResultSet.Results[0].woeid;
        getYahooWeather(WOEID);         
    });
}

function getYahooWeather(x) {
    var query = escape('select item from weather.forecast where woeid="'+x+'"');
    var url = "http://query.yahooapis.com/v1/public/yql?q=" + query + "&format=json&callback=c";
    console.log(url);

    $.getJSON(url, function(data2){
        console.log("hey");
    });
}

私の質問は、これらの$ .getJSON呼び出しで何か問題が発生しているのでしょうか?

本当にありがとう

4

2 に答える 2

3

コールバックをc関数にするように指定したので、次のように宣言します。

function getYahooWeather(x) {
  var query = escape('select item from weather.forecast where woeid="'+x+'"');
  var url = "http://query.yahooapis.com/v1/public/yql?q=" + query + "&format=json&callback=c";
  console.log(url);

  $.getJSON(url);
}

function c(data2) {
  console.log("hey");
}
于 2012-04-29T23:05:34.423 に答える
1

リクエストは現在のドメイン外にあります。外国からのリクエストはできません。クロスドメインポリシーによって制限されています。

そのようなリクエストは、代わりにjsonpリクエストを使用して行われます。そして、ここにあなたが始めるためのガイドがあります。

于 2012-04-29T22:56:32.237 に答える