【发布时间】:2016-05-02 20:42:45
【问题描述】:
我启动了一个 AngularJs 应用程序并从数据库中检索一些数据,我正在使用 NodeJS(对我来说是全新的),在 NodeJS 的控制台上它可以工作,并且还可以直接在浏览器中输入 URL,但是当我尝试获取在 AngularJS 中使用 http.get() 所需的信息在浏览器中使用相同的 URL 我得到 404 未找到。
我认为这将是一个 cors 问题,所以我添加了
require('cors') in the nodeJS app and still doesn't work
谁能帮我解决这个问题? 我是否应该在前端为 Angularjs 和在后端为 NodeJS 制作单独的应用程序,还是应该只在一个应用程序中组装它们?
感谢您的帮助
这是 AngularJS 代码:
$scope.keyLoad = function () {
$http.get("localhost:8080/product")
.success(function (response) {
$scope.keys = response;
console.log(response)
})
};
$scope.keyLoad();
【问题讨论】:
-
你的代码是...?
-
除非您的 url 是相对的,否则您应该指定包含协议的 full url。试试
$http.get("http://localhost:8080/product") -
阅读this,为什么
.then(...)比.success(...)更受欢迎 -
@Claies — CORS 与 403 错误无关。当服务器拒绝向客户端提供数据时,您会得到这些,因为客户端没有经过身份验证。 CORS 用于绕过同源策略,即 浏览器 拒绝从一个试图从另一个站点读取数据的站点访问 JavaScript。
标签: javascript angularjs node.js