JS 警报或追加在 DOM 上不起作用

JS Alert or append is not working on DOM

请在 https://jsfiddle.net/safron6/9g98j68g/embedded/result/

上查看此代码

我正在尝试从 APIS 列表和生成的 JSON 代码中获取计算结果以显示 precipIntensity。在代码的末尾有一个警报,代码在 firebug 中工作,但没有显示任何内容。不弹出警报可能是什么原因?

var listAPIs = "";

$.each(threeDayAPITimes, function(i, time) {
    var darkForecastAPI= "https://api.forecast.io/forecast/" + currentAPIKey + "/" + locations + "," + time +"?callback=?"; 
     $.getJSON(darkForecastAPI, {
        tags: "WxAPI[" + i + "]",  //Is this tag the name of each JSON page? I tried to index it incase this is how to refer to the JSON formatted code from the APIs.
        tagmode: "any",
        format: "json"
    }, function(result) {
        // Process the result object    
        var eachPrecipSum = 0;
    if(result.currently.precipIntensity >=0 && result.currently.precipType == "rain")
        {
            $.each(result, function() {
              eachPrecipSum += (result.currently.precipIntensity);
              totalPrecipSinceDate += eachPrecipSum ;  ///Write mean precip
                        alert(eachPrecipSum );
                        $("body").append("p").text(eachPrecipSum)
        });

        }   
    });

totalPrecipSinceDate 未声明。

我无法访问您的托管数据源。

将您当前的 $.getJSON 呼叫替换为 $.ajax 呼叫应该可行:

$.each(threeDayAPITimes, function(i, time) {
var darkForecastAPI= "https://api.forecast.io/forecast/" + currentAPIKey + "/" + locations + "," + time +"?callback=?"; 

  $.ajax({
    type: 'GET',
    url: darkForecastAPI,
    async: false,
    jsonpCallback: 'jsonCallback',
    contentType: 'application/json',
    dataType: 'jsonp',
    success: function(result) {
      var eachPrecipSum = 0;
      if(result.currently.precipIntensity >=0 && result.currently.precipType == "rain") {
        $.each(result, function() {
          eachPrecipSum += (result.currently.precipIntensity);
          totalPrecipSinceDate += eachPrecipSum ;  ///Write mean precip
          alert(eachPrecipSum );
          $("body").append("p").text(eachPrecipSum)
        });
      }
    },
    error: function(){
      alert('failure');
    }
  });
});