Javascript Axios无访问控制允许原点
我不断遇到错误Javascript Axios无访问控制允许原点,javascript,api,cors,axios,Javascript,Api,Cors,Axios,我不断遇到错误请求的资源上不存在“Access Control Allow Origin”头。起源'http://localhost:3000因此,不允许访问。 我知道这是web上的一个常见问题,但除了使用JSONP的解决方法之外,我在stackoverflow上看不到任何有帮助的答案 我的代码是 componentDidMount() { if (navigator.geolocation){ function success(position) { v
请求的资源上不存在“Access Control Allow Origin”头。起源'http://localhost:3000因此,不允许访问。
我知道这是web上的一个常见问题,但除了使用JSONP的解决方法之外,我在stackoverflow上看不到任何有帮助的答案
我的代码是
componentDidMount() {
if (navigator.geolocation){
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
axios.get(`https://api.darksky.net/forecast/apikey/`+latitude+`,`+longitude+`?units=auto`)
.then(result => {
this.setState({
daily: result.data.daily.data,
loading: false,
error: null
});
})
.catch(err => {
// Something went wrong. Save the error in state and re-render.
this.setState({
loading: false,
error: err
});
});
};
function error() {
console.log( 'geolocation error' )
};
navigator.geolocation.getCurrentPosition(success.bind(this), error);
}
}
这是对ajax调用的浏览器限制,这里只有三个可用选项
如果您有权访问服务器端应用程序,请遵循Mohamed Jahaber Sadiq提供的第一个答案
如果只是为了查看结果,您可以使用“Allow Control Allow Origin:*”chrome插件,默认情况下,该插件会在通过chrome处理的所有响应中添加标题 如果dupe target答案上的任何答案都不能解决您的问题,那么它可能无法解决。您必须遵循CORS策略,在不使用XHR(又名jsonp)的情况下发出请求,或者从服务器发出请求。