Javascript jQuery URL解析错误

Javascript jQuery URL解析错误,javascript,jquery,xml,Javascript,Jquery,Xml,我想使用yahoo weather API和jQuery在我的网站上显示我所在城市的当前天气 这是我的密码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"&g

我想使用yahoo weather API和jQuery在我的网站上显示我所在城市的当前天气

这是我的密码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "http://weather.yahooapis.com/forecastrss?w=12758714",
            dataType: "xml",
            success: function (xml) {
                var title = $(xml).find('condition').attr('temp');
                $('<div> </div>').html('<p>' + title + '</p>').appendTo('#a');
            },
            error: function (data) {
                $('<div> </div>').html('<p>  Error </p>').appendTo('#a');
            }
        });
    });
</script>
</head>
<body id="a">

</body>
</html>
当我运行此代码时,将显示错误。我不熟悉jQuery和ajax,因此无法解决这个问题。当我打开浏览器并将其所有内容保存到一个xml文件中,然后给出该xml文件的url时,我的代码运行得非常完美。但有了url,它就不存在了。有人能帮我吗


提前谢谢你

这是一个跨域问题


最好的方法是调用后端[PHP/JAVA/RoR…],而不是在AJAX调用中调用Yahoo weather API。然后在后端,您可以调用Yahoo weather API。这增加了一层,但这似乎是最安全的方法。此外,如果需要,您可以在后端处理接收到的数据。

您不能直接进行跨域请求。尝试不同的方法:


错误是什么?这看起来像是一个跨域ajax问题,但我更愿意获得所有信息,而不是玩一个20个问题的游戏。@G S Bajaj:有没有你刚才所说的例子?或者我可以这样做吗?在后端调用yahoo API,然后将url返回的所有数据存储在xml文件中,然后我调用该xml文件。可行吗?@user3363460实际上所有这些都可以是一个流的一部分,可能是这样的:[a]从前端ajax调用到[b]在所指向的控制器函数中,调用所需的Yahoo API。[如果使用PHP,可以使用curl][c]获取Yahoo API调用的结果并发送回前端。除非你真的想储存,否则不需要储存。[d] 在前端处理响应,就像它来自雅虎一样。这种方法适用于所有浏览器、所有版本。唯一的问题是你有一个额外的呼叫到你的服务器。@谁投了反对票:你能解释为什么吗?