AngularJS、Google Chrome 阻止我的应用发出 post 请求,需要帮助添加 headers
AngularJS, Google Chrome preventing my app to make post requests, need help adding headers
我对 AngularJS、API 和一般编码还很陌生。我创建了这个 AngularJS 应用程序,让用户可以向我创建的 API 发出 post 请求。这是一个简单的括号检查器,一切正常,除了我必须在我的 chrome 浏览器中激活 CORS 插件才能使其工作,我不能要求用户这样做。
我很确定有办法解决这个问题,但我不太明白。我想我需要在我的 http 请求代码中添加一些 headers,对吗?
这是我的 angularjs 发出请求的服务:
function ApiService($http) {
// API = '//localhost:3000/parentheses';
API = 'https://parentheses-api.herokuapp.com/parentheses';
this.getUser = (entry) => {
// console.log(this.entry);
return $http
.post(API, { string: entry} )
.then(function (response) {
// console.log(response.data);
return response.data;
}, function (reason) {
// error
})
// this.entry = "";
};
};
angular
.module('app')
.service('ApiService', ApiService);
我认为这是我应该添加 headers 的地方。但是 headers 究竟如何以及是什么?我现在还不太明白。
这是包含 2 个文件夹的完整项目,一个包含 API,另一个包含上面代码所在的应用程序 (ApiService.js)
非常感谢任何帮助!
如果您请求的 API 来自与您的前端不同的域,那么您的 API 后端将需要使用正确的 CORS headers 进行响应。看看:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
Access-Control-Allow-Origin: *
这告诉浏览器允许来自任何来源的请求代码访问您的 API。
或者,使用 Access-Control-Allow-Origin: <origin>
告诉浏览器只允许指定的来源访问您的 API。
我对 AngularJS、API 和一般编码还很陌生。我创建了这个 AngularJS 应用程序,让用户可以向我创建的 API 发出 post 请求。这是一个简单的括号检查器,一切正常,除了我必须在我的 chrome 浏览器中激活 CORS 插件才能使其工作,我不能要求用户这样做。
我很确定有办法解决这个问题,但我不太明白。我想我需要在我的 http 请求代码中添加一些 headers,对吗?
这是我的 angularjs 发出请求的服务:
function ApiService($http) {
// API = '//localhost:3000/parentheses';
API = 'https://parentheses-api.herokuapp.com/parentheses';
this.getUser = (entry) => {
// console.log(this.entry);
return $http
.post(API, { string: entry} )
.then(function (response) {
// console.log(response.data);
return response.data;
}, function (reason) {
// error
})
// this.entry = "";
};
};
angular
.module('app')
.service('ApiService', ApiService);
我认为这是我应该添加 headers 的地方。但是 headers 究竟如何以及是什么?我现在还不太明白。
这是包含 2 个文件夹的完整项目,一个包含 API,另一个包含上面代码所在的应用程序 (ApiService.js)
非常感谢任何帮助!
如果您请求的 API 来自与您的前端不同的域,那么您的 API 后端将需要使用正确的 CORS headers 进行响应。看看:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
Access-Control-Allow-Origin: *
这告诉浏览器允许来自任何来源的请求代码访问您的 API。
或者,使用 Access-Control-Allow-Origin: <origin>
告诉浏览器只允许指定的来源访问您的 API。