Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一些OpenWeatherMapAPI示例代码有问题_Javascript_Jquery_Openweathermap - Fatal编程技术网

Javascript 一些OpenWeatherMapAPI示例代码有问题

Javascript 一些OpenWeatherMapAPI示例代码有问题,javascript,jquery,openweathermap,Javascript,Jquery,Openweathermap,我正在尝试运行以下代码: var mainWeather = { init: function() { $("#submitWeather").click(function() { return mainWeather.getWeather(); }); }, getWeather: function() { $.get('http://api.openweathermap.org/data/2.5/weather?q=' + $("#cityI

我正在尝试运行以下代码:

var mainWeather = {
  init: function() {
    $("#submitWeather").click(function() {
      return mainWeather.getWeather();
    });
  },

  getWeather: function() {
    $.get('http://api.openweathermap.org/data/2.5/weather?q=' + $("#cityInput").val() + "," + $("#countryInput").val() + "&APPID=myweatherkey_removed", function(data) {
      var json = {
        json: JSON.stringify(data),
        delay: 1
      };
      echo(json);
    });
  },

  // Prints result from the weatherapi, receiving as param an object
  createWeatherWidg: function(data) {
    return "<div class='pressure'> <p>Temperature: " + (data.main.temp - 273.15).toFixed(2) + " C</p></div>" +
      "<div class='description'> <p>Title: " + data.weather[0].main + "</p></div>" +
      "<div class='description'> <p>Description: " + data.weather[0].description + "</p></div>" +
      "<div class='wind'> <p>Wind Speed: " + data.wind.speed + "</p></div>" +
      "<div class='humidity'> <p>Humidity: " + data.main.humidity + "%</p></div>" +
      "<div class='pressure'> <p>Pressure: " + data.main.pressure + " hpa</p></div>";
  }
  };

  var echo = function(dataPass) {
  $.ajax({
    type: "POST",
    url: "/echo/json/",
    data: dataPass,
    cache: false,
    success: function(json) {
      var wrapper = $("#weatherWrapper");
      wrapper.empty();
      wrapper.append("<div class='city'> <p>Place: " + json.name + ", " + json.sys.country + "</p></div>");
      wrapper.append(mainWeather.createWeatherWidg(json));
    }
  });
};

mainWeather.init();
var mainWeather={
init:function(){
$(“#提交者”)。单击(函数(){
返回mainWeather.getWeather();
});
},
getWeather:function(){
$.get('http://api.openweathermap.org/data/2.5/weather?q=“+$(“#城市输入”).val()+”,“+$(“#国家输入”).val()+”&APPID=myweatherkey_已删除”,函数(数据){
var json={
json:json.stringify(数据),
延误:1
};
echo(json);
});
},
//打印weatherapi的结果,作为参数接收对象
createWeatherWidg:函数(数据){
返回“Temperature:”+(data.main.temp-273.15).toFixed(2)+“C

”+ 标题:“+data.weather[0].main+”

“+ 说明:“+data.weather[0]。说明+”

“+ “风速:”+data.Wind.Speed+“

”+ 湿度:“+data.main.湿度+”%

”+ “压力:”+data.main.Pressure+“hpa

”; } }; var echo=函数(数据传递){ $.ajax({ 类型:“POST”, url:“/echo/json/”, 数据:dataPass, cache:false, 成功:函数(json){ var wrapper=$(“#weatherWrapper”); wrapper.empty(); append(“位置:“+json.name+”,“+json.sys.country+”

”; append(mainWeather.createWeatherWidg(json)); } }); }; mainWeather.init();


开放天气空气污染指数



但当我点击submit时,它什么也做不了


Chrome调试器首先说明$.get不是第9行中的函数,因此在搜索之后,我将其更改为jquery.get。现在它说这不是一个函数。我不知道我在做什么。有人能解决这个问题吗?

jQuery的超薄构建排除了Ajax。你可以读更多

只要用普通版本进行修改,就可以了。

jQuery的超薄版本不包括Ajax。你可以读更多

只需将其更改为正常版本,您就会没事。

谢谢您的回复。但是,现在使用普通jquery运行它会产生以下错误:XMLHttpRequest无法加载file:///C:/echo/json/. 只有协议方案支持跨源请求:http、data、chrome、chrome extension、https、chrome-extension-resource。您使用的是文件协议而不是http协议。使用本地服务器,它就会工作。搜索并安装XAMPP或WampServer。如果您阅读错误:跨源请求仅支持协议方案:http…原始代码调用
url:“/echo/json/”,
,这是一个本地url。我从他的jsfiddle复制了该代码:哦,必须在jsfiddle上模拟ajax调用。我真的不明白他为什么要用ajax调用发送json。谢谢你的回复。但是,现在使用普通jquery运行它会产生以下错误:XMLHttpRequest无法加载file:///C:/echo/json/. 只有协议方案支持跨源请求:http、data、chrome、chrome extension、https、chrome-extension-resource。您使用的是文件协议而不是http协议。使用本地服务器,它就会工作。搜索并安装XAMPP或WampServer。如果您阅读错误:跨源请求仅支持协议方案:http…原始代码调用
url:“/echo/json/”,
,这是一个本地url。我从他的jsfiddle复制了该代码:哦,必须在jsfiddle上模拟ajax调用。老实说,我不明白他为什么要调用ajax来发送json。
<!DOCTYPE html>
<html>
    <head>
        <title>Open Weather API</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div id="userArea" class="container">
            <div id="stateWrapper">
                <input type="text" id="cityInput" placeholder="Enter a State" />
            </div>
            <br/>
            <div id="countryWrapper">
                <input type="text" id="countryInput" placeholder="Enter a Country" />
            </div>
            <br/>
            <div id="buttonArea">
                <input type="submit" id="submitWeather" class="btn btn-primary"/>
                <br/>
            </div>
            <!- USED TO SHOW RESULT -->
            <div id="weatherWrapper">
            </div>
        </div>
        <script type="text/javascript" src="jquery-3.1.1.slim.js"></script>
        <script type="text/javascript" src="mainWeather.js"></script>
    </body>
</html>