从REST API URL读取json内容

时间:2017-03-13 08:26:58

标签: javascript jquery json rest api

我使用node.js构建了一个带有Node.js Express http://localhost:3000/api/feeds的REST API,并填充了数据。

router.get('/api/feeds', function (req, res, next) {
    documentDBConfig.getAllDocuments()
        .then(() => res.json(documentDBConfig.feedsArray));
});

enter image description here

现在我创建一个静态网站,并希望使用javascriptjquery从我的REST API获取数据。我用过这段代码

$.getJSON( "http://localhost:3000/api/feeds", function( data ) {
    console.log(data);
});

但它一直在说

XMLHttpRequest cannot load http://localhost:3000/api/feeds. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.

我知道我做错了,但我找不到正确的方法。如何从我的REST API(http://localhost:3000/api/feeds)获取我的网站上的这个json内容?

编辑:我没有通过资源管理器获得此警告,但我无法获取内容。现在我解决了铬问题,因此我再也没有得到这个警告了。但我无法阅读内容。这不是重复。

现在我收到了这个警告

Failed to load resource: the server responded with a status of 404 (Not Found)

3 个答案:

答案 0 :(得分:0)

这是因为您正在从其他域访问资源。 您尝试从VisualVM访问http://localhost:3000。 您可以在http://localhost:63342

了解更多相关信息

答案 1 :(得分:0)

您能告诉我们您的REST api代码,以便我们为您提供帮助吗?您需要在后端设置一些标头,以允许来自其他来源的请求。

如果你碰巧使用快递,这将help你。但是你可以用另一种方式构建REST api,所以请向我们提供更多信息。

答案 2 :(得分:0)

基本上,您正在执行CORS请求,这意味着您正尝试在不同服务器上调用资源。因此,您的REST api应该通过添加允许UI服务器资源的响应头来允许CORS请求。 Please Refer to this question if it helps