Jquery $ .getJSON не работает Chrome и Firefox, но работает в IE - PullRequest
0 голосов
/ 07 марта 2012

Я пытаюсь использовать yahoo wheather api на своем сайте, поэтому я написал простой скрипт, как показано ниже:

<button>show</button><br />

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var url='http://weather.yahooapis.com/forecastjson?w=2344116&u=c';
var query;
    $('button').click(function(){
        $.getJSON(url, function(json) {
        alert(json.units.temperature);
        });
    });
});
</script>

Это работает IE (я получаю всплывающее окно с предупреждением), но это не работает в Chrome и Firefox. Также я проверил вывод JSON;

{
    "units": {
        "temperature": "C",
        "speed": "km/h",
        "distance": "km",
        "pressure": "mb"
    },
    "location": {
        "location_id": "TUXX0014",
        "city": "Istanbul",
        "state_abbreviation": "*",
        "country_abbreviation": "TU",
        "elevation": 92,
        "latitude": 41.01,
        "longitude": 28.95
    },
    "wind": {
        "speed": 10,
        "direction": "NE"
    },
    "atmosphere": {
        "humidity": "34",
        "visibility": 9.99,
        "pressure": 1016,
        "rising": "steady"
    },
    "url": "http://weather.yahoo.com/forecast/TUXX0014.html",
    "logo": "http://l.yimg.com/a/i/us/nt/ma/ma_nws-we_1.gif",
    "astronomy": {
        "sunrise": "06:29",
        "sunset": "18:03"
    },
    "condition": {
        "text": "Fair",
        "code": "34",
        "image": "http://l.yimg.com/a/i/us/we/52/34.gif",
        "temperature": 9
    },
    "forecast": [
        {
            "day": "Today",
            "condition": "Mostly Sunny",
            "high_temperature": 8,
            "low_temperature": 2
        },
        {
            "day": "Tomorrow",
            "condition": "Mostly Cloudy",
            "high_temperature": 8,
            "low_temperature": 3
        }
    ]
}

Любая помощь будет оценена.

С наилучшими пожеланиями.

Осман.

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Проблемы с браузером для разных источников.

Для получения дополнительной информации: http://enable -cors.org /

try Использование API погоды Yahoo с JSON и тега сценария

0 голосов
/ 07 марта 2012

Я попробовал это: http://jsfiddle.net/arXt2/, и мой журнал ошибок говорит:

XMLHttpRequest cannot load http://weather.yahooapis.com/forecastjson?w=2344116&u=c. 
Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

То, что вы хотите, это cross side scripting.См. Как создать Ajax с JQuery с межсайтовым скриптингом?

...