![](/img/trans.png)
[英]No 'Access-Control-Allow-Origin' header is present error in AJAX Request
[英]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.