Javascript 需要关于jquery和json的指导

Javascript 需要关于jquery和json的指导,javascript,jquery,json,Javascript,Jquery,Json,我有一个url,它是JSON webservice 我需要编写一个jquery函数来从上面的url访问JSON对象。 我不知道如何进行这项工作。有人能帮我开始jquery代码吗 谢谢 为了显示HTML,我删除了“搜索jquery json首先打开此页面,这似乎正是您所需要的:搜索jquery json首先打开此页面,这似乎正是您所需要的:应该很简单: <script type="text/javascript"> jQuery.getJSON('http://ws.geona

我有一个url,它是JSON webservice

我需要编写一个jquery函数来从上面的url访问JSON对象。 我不知道如何进行这项工作。有人能帮我开始jquery代码吗

谢谢



为了显示HTML,我删除了“搜索
jquery json
首先打开此页面,这似乎正是您所需要的:

搜索
jquery json
首先打开此页面,这似乎正是您所需要的:

应该很简单:

<script type="text/javascript">
  jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2', function(data) {
    // The JSON object is now in the data variable --
    // process it here; for example:
    alert(data.weatherObservations[0].clouds);
  });
</script>

jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&东=-22.4&西=55.2',函数(数据){
//JSON对象现在位于数据变量中--
//在此处进行处理;例如:
警报(数据。气象观测[0]。云);
});
但是,请记住,您的AJAX调用必须来自同一个域(ws.geonames.org),因为大多数现代浏览器不允许跨域请求。解决方法是使用JSON-p格式,而不是纯JSON

…针对菜鸟对其原始问题的编辑,以下是一个更完整的解决方案:

<html><head></head><body>
  <div id="para"></div>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script>
    jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2', function(data) {
      jQuery.each(data.weatherObservations, function(i,item){
        jQuery("<p/>").html(item.temperature).appendTo("#para");
      });
    });
  </script>
</body></html>

jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&东=-22.4&西=55.2',函数(数据){
jQuery.each(data.weatherObservations,function)(i,item){
jQuery(“

”)html(item.temperature).appendTo(“#para”); }); });


应该很简单:

<script type="text/javascript">
  jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2', function(data) {
    // The JSON object is now in the data variable --
    // process it here; for example:
    alert(data.weatherObservations[0].clouds);
  });
</script>

jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&东=-22.4&西=55.2',函数(数据){
//JSON对象现在位于数据变量中--
//在此处进行处理;例如:
警报(数据。气象观测[0]。云);
});
但是,请记住,您的AJAX调用必须来自同一个域(ws.geonames.org),因为大多数现代浏览器不允许跨域请求。解决方法是使用JSON-p格式,而不是纯JSON

…针对菜鸟对其原始问题的编辑,以下是一个更完整的解决方案:

<html><head></head><body>
  <div id="para"></div>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script>
    jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2', function(data) {
      jQuery.each(data.weatherObservations, function(i,item){
        jQuery("<p/>").html(item.temperature).appendTo("#para");
      });
    });
  </script>
</body></html>

jQuery.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&东=-22.4&西=55.2',函数(数据){
jQuery.each(data.weatherObservations,function)(i,item){
jQuery(“

”)html(item.temperature).appendTo(“#para”); }); });


要帮助您阅读返回的内容,请将其放入并格式化,使其可读

除了Mark的答案,您还应该验证textStatus


为了帮助您阅读返回的内容,请将其放入,它将对其进行格式化,使其可读

除了Mark的答案,您还应该验证textStatus



除了JSON-P需要服务器的配合。它需要返回调用您指定的回调的JavaScript。因此在这种情况下它不起作用。@darkporter-它会起作用,getJSON会追加回调,geonames端点会用JavaScript函数响应,请尝试Hi,我非常感谢您对我上面编辑的“怀疑”的帮助。谢谢。@rookie-查看我编辑的答案。使用jQuery html()函数将内容放入段落,而不是attr()中function.Hi Mark,我非常感谢您对重新编辑的帮助。谢谢!除了JSON-P需要服务器的合作之外。它需要返回调用您指定回调的JavaScript。因此在这种情况下它不起作用。@darkporter-它会起作用,getJSON追加回调,geonames端点用JavaScript函数响应,您好,我非常感谢您对我编辑的上述疑问的帮助。谢谢。@rookie-查看我编辑的答案。使用jQuery html()函数将内容放入段落,而不是attr()函数。嗨,马克,我非常感谢你对重新编辑的帮助。谢谢!如果我的问题看起来很简单,我很抱歉。但我不明白为什么我需要验证textstatus?我想问的是,它有什么用途?谢谢。如果成功,这是一个让人知道的值。仔细检查,但我认为这些值是“超时、错误、未修改、成功、解析错误“.如果有错误,你想知道,对吗?是的,这是有道理的。因此,它用于java中的try-catch块。谢谢。如果我的问题看起来很简单,我很抱歉。但我不明白为什么我需要验证textstatus?我想问的是,它有什么用途?谢谢。如果成功的话,让别人知道这一点是很有价值的。仔细检查,但我认为这些值是“timeout”、“error”、“notmodified”、“success”、“parserror”。如果有错误,你想知道,对吗?是的,这是有道理的。因此,它用于java中的try-catch块。谢谢。要让HTML标记显示在您的问题中,只需缩进您的代码4个空格。要让最后一个空格起作用,请使用它而不是getJSON():
jQuery.get(url,函数(数据){/*…*/},'jsonp')我想看看你们的成品。谢谢马克!整个产品是一个远程医疗系统,这是逐步进入认知阶段的模块之一。马克,你能指出我的错误吗?谢谢要使HTML标记显示在问题中,只需缩进代码4个空格。要使最后一个空格起作用,请使用它而不是getJSON():
jQuery.get(url,函数(数据){/*…*/},'jsonp')我想看看你们的成品。谢谢马克!整个产品是一个远程医疗系统,这是逐步进入认知阶段的模块之一。马克,你能指出我的错误吗?谢谢
var url = "http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2";

​jQuery.getJSON(url,function(data, textStatus) {
    if (textStatus == "success") {
        for (idx in data.weatherObservations) {
            var wo = data.weatherObservations[idx];
            console.log("Temperature at " + wo.stationName + ":  " + wo.temperature);
        }
    }
});​