Jquery javascript-json-ajax数据解析

Jquery javascript-json-ajax数据解析,jquery,html,css,json,ajax,Jquery,Html,Css,Json,Ajax,我不熟悉ajax和jquery编程。我正在设计一个天气网络应用程序,在网站上显示某个城市的天气。我已经能够成功地在网站上显示天气。但现在我想从JSON中获取温度,并将其转换为华氏温度。这是我的web应用程序代码 $(function(){ $('#clickme').click(function() { $("#weather").empty(); var search_City2 = $("#c1").val();

我不熟悉ajax和jquery编程。我正在设计一个天气网络应用程序,在网站上显示某个城市的天气。我已经能够成功地在网站上显示天气。但现在我想从JSON中获取温度,并将其转换为华氏温度。这是我的web应用程序代码

        $(function(){


     $('#clickme').click(function() {
         $("#weather").empty();

        var search_City2 = $("#c1").val();

        $.ajax({
          url: 'http://localhost:3000/?id='+search_City2,
          dataType: 'json',
          success: function(data) {
             var items = [];

             $.each(data, function(key, val) {

               items.push('<li id="' + key + '">' + key + ' : '+ val + '</li>');

             });

             $('<ul/>', {
                'class': 'weather-list',
                html: items.join('')
             }).appendTo('#weather');
             var city = search_City2;


          },
         statusCode: {
            404: function() {
              alert('There was a problem with the server.  Try again soon!');
            }
          }
       });
     });
 });
试试看

var jsObj = jQuery.parseJSON(data); // Convert string JSON to object

if (jsObj.temp) {

    var temp = parseFloat(jsObj.temp.toString());
    var tempFahrenheit = temp * 33.8; // 1 Celcuis = 33.8 Fahrenheit

    console.log('Temperature: ' + tempFahrenheit + 'ºF');
}

这是工作代码

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
  <script>
      $(document).ready(function(){
          var data = { text: 'Light Rain',
                       temp: '12',
                       date: 'Fri, 27 Nov 2015 11:00 am EST',
                       high: '14',
                       low: '-2' };

          $.each(data, function (k, v) {
              if(k == 'temp'){
                  var cToFahr = v * 9 / 5 + 32;
                  console.log(v, cToFahr);
              }
          });
     });
   </script>
</body>
</html>

$(文档).ready(函数(){
var data={text:'小雨',
温度:'12',
日期:美国东部时间2015年11月27日星期五上午11:00,
高:'14',
低:'-2'};
$。每个(数据、函数(k、v){
如果(k=='temp'){
变量cToFahr=v*9/5+32;
控制台日志(v,cToFahr);
}
});
});

看看这个答案:
console.dir(jQuery.parseJSON(data))在您的成功函数中生成?在控制台日志中它是“null”,所以对服务器的调用不会返回任何结果
console.dir(data)
或者它只是带单引号的JSON(这是无效的JSON)这是回复“对象日期:Fri,2015年11月27日12:59 pm EST”高:“13”低:“-1”temp:“12”文本:“小雨”,当我使用“console.dir(data)“getting error”Uncaught TypeError:如果条件更改为“如果(jsObj&&jsObj.temp)”它确实运行我的脚本,但不将任何内容登录到控制台,这就是我调试它时得到的结果“jsObj=null,temp=undefine”
<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
  <script>
      $(document).ready(function(){
          var data = { text: 'Light Rain',
                       temp: '12',
                       date: 'Fri, 27 Nov 2015 11:00 am EST',
                       high: '14',
                       low: '-2' };

          $.each(data, function (k, v) {
              if(k == 'temp'){
                  var cToFahr = v * 9 / 5 + 32;
                  console.log(v, cToFahr);
              }
          });
     });
   </script>
</body>
</html>