繁体   English   中英

AJAX请求中不存在“ access-control-allow-origin”标头

[英]No 'access-control-allow-origin' header is present in AJAX request

我正在使用以下URL来获取天气应用程序的数据。

http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP

我以前使用过此API,但是这次我尝试使用AJAX加载数据,因此提取此数据时不会重新加载页面的其余部分。

这是我的javascript

<script>
    $(function () {
        var zip = 16001;

        $.ajax({
            type: 'GET',
            crossDomain:'true',
            url: 'http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP' +zip,
            success: function (data) {
                console.log("Here is the data", data);
            },
            error: function () {
                alert("Error loading data");
            }
        });
    });
</script>

我一直在控制台中收到以下错误。

XMLHttpRequest cannot load http://wsf.cdyne.com/WeatherWS/Weather.asmx/GetCityWeatherByZIP16001. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:50733' is therefore not allowed access. The response had HTTP status code 500. weatherAjax.html:1

这使得他们似乎是访问数据的问题。 但是我以前用过这种简单的形式,用户可以输入邮政编码。 然后返回数据。 现在唯一的区别是我想使用AJAX加载数据,这样就不会重新加载整个页面。 我究竟做错了什么?

以前,您是将用户的浏览器发送到其他人的网站。 他们正在离开您的网站,一切都很好。

现在,您正在尝试编写JavaScript,以指示访问者的浏览器从其他人的网站(将使用他们拥有的所有auth / authz凭据) 中获取数据,并将该数据提供给您的代码

例如,由于另一个网站可能是在线银行,因此除非您要从中请求数据的网站明确授予您访问权限,否则这是禁止的。

有关更多信息,请参见Same Origin Policy and HTTP access control(CORS)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM