2016-10-01 64 views
0
Meteor.http.call('GET', 'http://google.com', {}, function(error, response) { 
     if (error) { 
    console.log(error); 
    } else { 
    console.log(response); 
    } 
}); 

的问题是,它不断出现这个错误,这是我第一次使用这个包有问题,所以我不知道我是否真正了解它。获得页面的标题从HTML与meteor.http包

这是我的控制台上的错误。

XMLHttpRequest无法加载http://google.com。否 “访问控制 - 允许来源”标题出现在请求的 资源中。 'http://localhost:3000'因此不允许 访问。

+1

这是浏览器的安全功能。做一个谷歌Access-Control-Allow-Origin并阅读它。有一种方法可以在这里解决它http://enable-cors.org/server_meteor.html – Mikkel

+0

@MikeKing不要告诉人们做谷歌搜索的东西,他们一直在谷歌搜索几天,我觉得很恼人。我仍然想感谢你的链接,尽管对我来说没用,但是无论如何感谢。 –

+0

如果你使用的是Chrome,你可以试试这个扩展:https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi – Ankit

回答

0

来自浏览器的HTTP请求始终会遇到这个CORS问题,除非您特别允许它们使用CORS标头。

流星有处理它的好方法。首先是你的电话:

Meteor.call("httpRequest","http://myserver.com/path/to/file",params); 

在你写这样的

Meteor.methods({ 
    httpRequest: function(url,params) { 
    // Send the http request here 
    }) 
}); 

流星方法服务器你不能做一个回调到与HTTP请求的结果的客户端,但你可以将其放入客户端订阅的数据库记录中。

+0

@MikeKing非常感谢,很抱歉我的反应较早,我有一个列表,如果用户提交的网址,我希望能够自动获得标题页和其他元数据请输入你能带我走过吗,这就是我所做的。 [我到目前为止所做的](https://forums.meteor.com/t/having-issues-getting-page-title-with-meteor-http-package/29907/4?u=emmanuelamodu) –